<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:go='http://ns.gigaom.com/'
xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>GigaOM &#187; Bob Rudis Archives</title>
	<atom:link href="http://gigaom.com/author/hrbrmstr/feed/" rel="self" type="application/rss+xml" />
	<link>http://gigaom.com</link>
	<description></description>
	<lastBuildDate>Fri, 10 Feb 2012 11:11:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='gigaom.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/0db8f6557d022075dbbf010c54d46d93?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>GigaOM &#187; Bob Rudis Archives</title>
		<link>http://gigaom.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://gigaom.com/osd.xml" title="GigaOM" />
	<atom:link rel='hub' href='http://gigaom.com/?pushpress=hub'/>
		<item>
		<title>ExpanDrive 2.0 Enhances GUI, Speed, and Connectivity Options</title>
		<link>http://gigaom.com/apple/expandrive-20-enhances-gui-speed-and-connectivity-options/</link>
		<comments>http://gigaom.com/apple/expandrive-20-enhances-gui-speed-and-connectivity-options/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 15:00:17 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[CNN Big Tech]]></category>
		<category><![CDATA[Commentary]]></category>
		<category><![CDATA[NYT Enterprise]]></category>
		<category><![CDATA[Software Reviews]]></category>
		<category><![CDATA[SYN Feature Enterprise]]></category>
		<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[expandrive]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[ftps]]></category>
		<category><![CDATA[macfuse]]></category>
		<category><![CDATA[online storage]]></category>
		<category><![CDATA[s3]]></category>
		<category><![CDATA[sftp]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=22218</guid>
		<description><![CDATA[Building on the success of their initial offering, ExpanDrive has released version 2.0 of their Mac client for accessing a wide array of online storage systems. ExpanDrive is built on MacFUSE, an open-source project that provides the base functionality and SDK for connecting to remote and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172653&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="expandrive-icon" src="http://gigapple.files.wordpress.com/2009/04/expandrive-icon.png?w=128&#038;h=128" alt="expandrive-icon" width="128" height="128" class=" alignleft" /></p>
<p class="excerpt">Building on the success of their <a href="http://gigaom.com/apple/quick-secure-network-filesystem-access-with-expandrive/">initial offering</a>, ExpanDrive has <a href="http://www.expandrive.com/mac">released version 2.0</a> of their Mac client for accessing a wide array of online storage systems.</p>
<p>ExpanDrive is built on <a href="http://code.google.com/p/macfuse/">MacFUSE</a>, an open-source project that provides the base functionality and SDK for connecting to remote and <a href="http://googlemac.blogspot.com/2007/01/taming-mac-os-x-file-systems.html">alternative filesystems</a>. The ExpanDrive developer-alchemists have mixed in a bit of their own Python and Objective-C components to significantly enhance the potency of these MacFUSE-managed filesystems and definitely improved the formula for this major update. Read on to see what&#8217;s new in 2.0. <span id="more-172653"></span></p>
<h3>SFTP Overhaul</h3>
<p>Not fully satisfied with the status quo, the developers brought the SFTP engine back to the lab and have completely re-engineered it. My tests confirmed that large file copies now transfer in approximately half the time. Traipsing through my cluttered web directories in the Finder is also a less painful experience due to a fully re-worked caching system.</p>
<p>An even more pleasant surprise is how quickly remote edits are detected. The video below shows a text file being edited in both <code>vi</code> on my very remote Linux box and also open locally in TextWrangler. Edits made on the server side show up almost instantaneously now.</p>
<span style="text-align:center; display: block;"><a href="http://gigaom.com/apple/expandrive-20-enhances-gui-speed-and-connectivity-options/"><img src="http://img.youtube.com/vi/bzCXS9TqQJ8/2.jpg" alt="" /></a></span>
<h3>FTP/FTPS Support</h3>
<p>ExpanDrive has had experimental support for FTP/FTPS filesystems for quite a while and has now made it a first class filesystem in version 2.0. As a daily user of the product, I regularly peruse both their <a href="http://twitter.com/expandrive">Twitter</a> activity and <a href="http://getsatisfaction.com/expandrive">Get Satisfaction support forums</a> and can attest that they really do listen to users. It&#8217;s very obvious that they wanted to make sure that FTP/FTPS support worked under as many conditions as possible before bringing it to their entire user base. If you must use FTP, you should definitely take advantage of the <a href="http://www.faqs.org/rfcs/rfc4217.html">enhanced security in the FTPS protocol</a> if at all possible. Standard FTP transmits both your credentials and all data completely in the clear, making it very easy for malicious users to eavesdrop on your sessions.</p>
<p><img  title="ftp-prefs" src="http://gigapple.files.wordpress.com/2009/04/ftp-prefs.png?w=484&#038;h=269" alt="ftp-prefs" width="484" height="269" class=" alignleft" /></p>
<h3>GUI Enhancements</h3>
<p>Continuing the theme of listening to their users, ExpanDrive has tweaked their GUI to provide more information about the types of drives available and provides the ability to eject volumes from their Drive Manager as well as open volumes in the Finder.</p>
<p><img  title="expandrive" src="http://gigapple.files.wordpress.com/2009/04/expandrive.png?w=390&#038;h=344" alt="expandrive" width="390" height="344" class=" alignleft" /></p>
<p>You can now also change the drive icon and use your own icons for ExpanDrive volumes by clicking on the drive icon in the edit dialog:</p>
<p><img  title="drive-icon-popup" src="http://gigapple.files.wordpress.com/2009/04/drive-icon-popup.png?w=98&#038;h=248" alt="drive-icon-popup" width="98" height="248" class=" alignleft" /></p>
<h3>Live! New! Filesystem! (S3 Support)</h3>
<p>Perhaps the most significant enhancement is the inclusion of support for Amazon S3. While inherently not as robust as SFTP volumes, S3-mounted volumes let you use the Finder to manage your buckets (i.e. copy/move/delete files), including setting object permissions via contextual menu. I created a test bucket via <a href="https://addons.mozilla.org/en-US/firefox/addon/3247">S3Fox</a>, used ExpanDrive to move files into it and verified the results back in S3Fox.</p>
<p><img  title="new-s3-drive" src="http://gigapple.files.wordpress.com/2009/04/new-s3-drive.png?w=484&#038;h=237" alt="new-s3-drive" width="484" height="237" class=" alignleft" /></p>
<p style="text-align: center;"><img  title="s3-firefox-organizer" src="http://gigapple.files.wordpress.com/2009/04/s3-firefox-organizer.png?w=604" alt="s3-firefox-organizer" class=" alignleft" /></p>
<p style="text-align: center;"><img  title="s3-access-control" src="http://gigapple.files.wordpress.com/2009/04/s3-access-control.png?w=604" alt="s3-access-control" class=" alignleft" /></p>
<h3>Should You Buy/Upgrade?</h3>
<p>If you&#8217;ve never used ExpanDrive and regularly have to FTP/SFTP files or work with content in S3 buckets, then you really should consider giving ExpanDrive a try (list price is $39.95 for new users). Existing users should also consider upgrading just for the speed and integrity enhancements alone. Couple that with good S3 support and it&#8217;s well worth the $19.95 upgrade price (free if you&#8217;ve purchased the previous version within 60 days of release).</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172653+expandrive-20-enhances-gui-speed-and-connectivity-options&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172653+expandrive-20-enhances-gui-speed-and-connectivity-options&utm_content=hrbrmstr">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172653+expandrive-20-enhances-gui-speed-and-connectivity-options&utm_content=hrbrmstr">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172653+expandrive-20-enhances-gui-speed-and-connectivity-options&utm_content=hrbrmstr">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172653&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/expandrive-20-enhances-gui-speed-and-connectivity-options/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/expandrive-icon.png" medium="image">
			<media:title type="html">expandrive-icon</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/ftp-prefs.png" medium="image">
			<media:title type="html">ftp-prefs</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/expandrive.png" medium="image">
			<media:title type="html">expandrive</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/drive-icon-popup.png" medium="image">
			<media:title type="html">drive-icon-popup</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/new-s3-drive.png" medium="image">
			<media:title type="html">new-s3-drive</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/s3-firefox-organizer.png" medium="image">
			<media:title type="html">s3-firefox-organizer</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/s3-access-control.png" medium="image">
			<media:title type="html">s3-access-control</media:title>
		</media:content>
	</item>
		<item>
		<title>EFF Volleys to Make Jailbreaking Free of &#8220;Jail-Time&#8221;</title>
		<link>http://gigaom.com/apple/eff-volleys-to-make-jailbreaking-free-of-jail-time/</link>
		<comments>http://gigaom.com/apple/eff-volleys-to-make-jailbreaking-free-of-jail-time/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 00:30:37 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[CNN Big Tech]]></category>
		<category><![CDATA[CNN Mobile]]></category>
		<category><![CDATA[Commentary]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[NYT Company News]]></category>
		<category><![CDATA[SYN Analysis]]></category>
		<category><![CDATA[App Store]]></category>
		<category><![CDATA[AT&T]]></category>
		<category><![CDATA[cellular phone]]></category>
		<category><![CDATA[DMCA]]></category>
		<category><![CDATA[eff]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[jailbreak]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=17248</guid>
		<description><![CDATA[As most savvy technology readers know, the Digital Millennium Copyright Act prohibits &#8220;circumventing&#8221; digital rights management (DRM) and &#8220;other technical protection measures&#8221; used to protect copyrighted works. While this ban was meant to deter copyright infringement, many corporations have misused the law to chill competition, free [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172364&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="efflogo" src="http://gigapple.files.wordpress.com/2009/02/efflogo.png?w=200&#038;h=139" alt="efflogo" width="200" height="139" class=" alignleft" />As most savvy technology readers know, the Digital Millennium Copyright Act prohibits &#8220;circumventing&#8221; digital rights management (DRM) and &#8220;other technical protection measures&#8221; used to protect copyrighted works. While this ban was meant to deter copyright infringement, many corporations have misused the law to chill competition, free speech, and fair use. Every three years, the U.S. Copyright Office convenes a rulemaking session in order to consider granting exemptions to the DMCA&#8217;s ban on circumvention to mitigate the harms the law has caused to legitimate, non-infringing uses of copyrighted materials.</p>
<p>The Electronic Frontier Foundation (EFF) is presenting <a href="http://www.eff.org/cases/2009-dmca-rulemaking">three exemption requests</a> during the 2009 exemption cycle, one of which is of particular interest to that segment of the Apple community who seek to free their iPhones from the perceived draconian management practices of Apple and its partner carriers.<br />
<span id="more-172364"></span><br />
The <a href="http://www.eff.org/files/filenode/dmca_2009/RM2008-08.phoneunlocking.exhibits.pdf">15-page exemption request</a> is being filed on behalf of <a>The Wireless Alliance</a>, <a href="http://www.recellular.com/">ReCellular</a> and <a href="http://www.flipswap.com/">FlipSwap</a> &#8211; three companies that specialize in breathing new life into previously-used cell phones. The two key arguments for the exemption are:</p>
<ul>
<li><strong>It encourages competition</strong> &#8211; The rationale here is that using a mobile handset on the network of the customer’s choosing is inherently pro-competitive and does not infringe on any manufacturer/distributor rights. &#8220;Jailbreakers&#8221; access the device firmware merely to reprogram it to work on a different network, or to utilize a different SIM card, not to copy it or claim ownership of it.</li>
<li><strong>It is better for the environment</strong> &#8211; The three companies that are making this request either recycle phones or, when possible, unlock them to make them more marketable and put them back into marketplace. Resale is the most environmentally friendly alternative to the problem of handset obsolescence. They make the case that unlocked phones have a greater chance for resale, because they can be sold to more people and the ability to choose a carrier makes them more desirable.</li>
</ul>
<p>In the end, if this exemption were granted, carriers would still be allowed to lock their handsets, but talented and enterprising consumers could unlock their handsets if it was worth the trouble to do so. These users would continue to pay their monthly service fees under their service contracts, and would be subject to penalties if they terminated their contracts early.</p>
<p>If this exemption is granted (ruling scheduled for October 2009) it would truly open up the iPhone market to carrier- and application-competition since there would no longer be any fear of prosecution. It may even encourage Apple (and others) to re-think their carrier-exclusiveness model and work towards a more open framework for their devices.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172364+eff-volleys-to-make-jailbreaking-free-of-jail-time&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/01/mobile-q4-all-eyes-were-on-android-4g-and-the-rising-tablet-tide/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172364+eff-volleys-to-make-jailbreaking-free-of-jail-time&utm_content=hrbrmstr">Mobile Q4: All Eyes Were on Android, 4G and the Rising Tablet&nbsp;Tide</a></li><li><a href="http://pro.gigaom.com/2010/12/report-a-mobile-video-market-overview/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172364+eff-volleys-to-make-jailbreaking-free-of-jail-time&utm_content=hrbrmstr">Report: A Mobile Video Market&nbsp;Overview</a></li><li><a href="http://pro.gigaom.com/2010/10/in-q3-the-tablet-and-4g-were-the-big-stories/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172364+eff-volleys-to-make-jailbreaking-free-of-jail-time&utm_content=hrbrmstr">In Q3, the Tablet and 4G Were the Big&nbsp;Stories</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172364&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/eff-volleys-to-make-jailbreaking-free-of-jail-time/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/efflogo.png" medium="image">
			<media:title type="html">efflogo</media:title>
		</media:content>
	</item>
		<item>
		<title>Scripting iWork: Numbers and Yahoo! Finance</title>
		<link>http://gigaom.com/apple/scripting-iwork-numbers-and-yahoo-finance/</link>
		<comments>http://gigaom.com/apple/scripting-iwork-numbers-and-yahoo-finance/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 19:00:39 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[CNN Big Tech]]></category>
		<category><![CDATA[Commentary]]></category>
		<category><![CDATA[NYT Company News]]></category>
		<category><![CDATA[SYN Feature Enterprise]]></category>
		<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[iWork]]></category>
		<category><![CDATA[Numbers]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=16643</guid>
		<description><![CDATA[When iWork &#8217;08 was released it felt like a half-implemented suite for a whole host of reasons: lack of interoperability between the applications, very basic functionality, performance issues &#8212; especially with Numbers &#8217;08 &#8212; and lack of scripting. Apple&#8217;s new iWork &#8217;09 suite has addressed many [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172324&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="numbers-icon" src="http://gigapple.files.wordpress.com/2009/02/numbers-icon.png?w=128&#038;h=128" alt="numbers-icon" width="128" height="128" class=" alignleft" />When iWork &#8217;08 was released it felt like a half-implemented suite for a whole host of reasons: lack of interoperability between the applications, very basic functionality, performance issues &#8212; especially with Numbers &#8217;08 &#8212; and lack of scripting. Apple&#8217;s new iWork &#8217;09 suite has addressed many of those issues, and the one feature that truly stands out (for me) is the ability to bend the applications to your will via scripting.</p>
<p>This article will focus on showing the scriptability of Numbers by writing a very small script to retrieve data from Yahoo! Finance and put it into a custom table.<br />
<span id="more-172324"></span></p>
<h3>Numbers Scripting Definitions</h3>
<p>To get an idea of what you have at your disposal, fire up <strong>/Applications/AppleScript/Script Editor</strong> and select <strong>File-&gt;Open Dictionary…</strong> and choose <strong>Numbers</strong> from the dialog:</p>
<p><img  title="open-dictionary_02" src="http://gigapple.files.wordpress.com/2009/02/open-dictionary_02.png?w=397&#038;h=255" alt="open-dictionary_02" width="397" height="255" class=" alignleft" /></p>
<p>You will should see a window that looks a bit like this:</p>
<p style="text-align: center;"><img  title="numbers1_02" src="http://gigapple.files.wordpress.com/2009/02/numbers1_02.png?w=604" alt="numbers1_02" class=" alignleft" /></p>
<p>You should definitely take some time to peruse all the options available at your disposal but you will find that, while Apple has provided many ways to manipulate the contents of documents, sheets, tables, cells and rows, there is a distinct lack of functions related to charting/graphing. Perhaps an incremental update or Numbers X will correct this oversight.</p>
<h3>Directing the Data</h3>
<p>Yahoo! Finance has a very nice <a href="http://finance.yahoo.com/q/hp?s=AAPL">historical data</a> view for closing stock prices. Even with all of the enhancements, Numbers still lacks one of the nicest features of Excel: the ability to grab data from a URL. To remedy this, we can create an AppleScript that:</p>
<ul>
<li>lets us input the symbol of the stock we are interested in</li>
<li>fetch the data from Yahoo! Finance</li>
<li>and populate a new table in Numbers with this data</li>
</ul>
<p>Part&#8217;s one and two are  pretty straightforward AppleScript:</p>
<p><pre class="brush: csharp;">
set tempFile to ((path to temporary items) as string) & "yahoo-quote"

-- get company to display from the user
display dialog "Enter symbol:" default answer "AAPL"
set company to text returned of result

-- download the file
tell application "URL Access Scripting"
 set theURL to "http://ichart.finance.yahoo.com/table.csv?s=" & company & "&a=00&b=1&c=2008&g=d&ignore=.csv"
 download theURL to file tempFile
end tell
</pre></p>
<p>Here&#8217;s where it gets interesting. First, we tell Numbers (the script assumes the app is open with a document ready) to become active and make the most recent document the one we want to work in. We then read in the data from Yahoo! to determine how many rows we need and use the header line to determine how many columns we need and then make a new table with this information:</p>
<p><pre class="brush: csharp;">
tell application "Numbers"
	activate
	tell document (count of documents)
		tell sheet 1
			-- read in the file contents
			set quoteLines to paragraphs of (read file tempFile)
			set quoteValues to {}
			-- get number of rows for the table
			set nRows to length of quoteLines
			-- get number of columns for the table
			-- (grab header row first)
			set tempLine to item 1 of quoteLines
			-- we need to split the line with commas as delimeters
			set oldDelims to AppleScript's text item delimiters
			set AppleScript's text item delimiters to ","
			set headers to every text item of tempLine
			set nCols to length of headers
			-- make a new Numbers table that fits the # rows & cols in the CSV file
			make new table with properties {name:company, row count:nRows, column count:(nCols + 1)}
</pre></p>
<p>Finally, we loop through each line (row) and copy the data from each column to the correct cell, then we delete the temporary file we created at the beginning:</p>
<p><pre class="brush: csharp;">
tell table (count of tables) -- the one we just made is the last
				delete column 1 -- labels we don't need
				set nRow to 1
				repeat with aLine in quoteLines
					set cellValues to every text item of aLine
					set nCol to 1
					repeat with aCell in cellValues
						set value of cell nCol of row nRow to aCell
						set nCol to nCol + 1
					end repeat
					set nRow to nRow + 1
				end repeat
			end tell
			-- we need to put the delimeters back
			set AppleScript's text item delimiters to oldDelims
		end tell
	end tell
end tell
tell application "Finder" to delete file tempFile
</pre></p>
<p>When you run the script (<a href="http://a.theappleblog.com/files/yahoo-to-numbers.scpt.zip">download the source</a>), you will be able to watch Numbers create the new table and populate all of the cells.</p>
<p>This <em>particular</em> script duplicates a built-in functionality of Numbers: the ability to read CSV files. However, you could very easily modify it to use AppleScript to tweak the data or make a call out to a Python or Perl script to do even more substantial modifications then bring the information back in. The fundamental purpose of the script is to demonstrate just how easy it is to address cells and rows. Reading data is just as easy &#8212; <code>set v to value of cell x of row y</code> &#8212; and that opens up a whole host of possibilities, such as using an active Numbers sheet to send data to a web service via a global-hotkey-enabled AppleScript action.</p>
<p>Make sure to drop a note in the comments with how are you using the new scripting functionality in Apple&#8217;s latest iWork suite.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172324+scripting-iwork-numbers-and-yahoo-finance&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172324+scripting-iwork-numbers-and-yahoo-finance&utm_content=hrbrmstr">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172324+scripting-iwork-numbers-and-yahoo-finance&utm_content=hrbrmstr">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172324+scripting-iwork-numbers-and-yahoo-finance&utm_content=hrbrmstr">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172324&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/scripting-iwork-numbers-and-yahoo-finance/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/numbers-icon.png" medium="image">
			<media:title type="html">numbers-icon</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/open-dictionary_02.png" medium="image">
			<media:title type="html">open-dictionary_02</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/numbers1_02.png" medium="image">
			<media:title type="html">numbers1_02</media:title>
		</media:content>
	</item>
		<item>
		<title>Mitigating a Missing Mobile Safari Security Feature</title>
		<link>http://gigaom.com/apple/mitigating-a-missing-mobile-safari-security-feature/</link>
		<comments>http://gigaom.com/apple/mitigating-a-missing-mobile-safari-security-feature/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 21:30:40 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[certificates]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[MD5]]></category>
		<category><![CDATA[mobile safari]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[pki]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SHA-1]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=14266</guid>
		<description><![CDATA[In the event you were too distracted by the festivities associated with the ringing in of the new year and missed the news: the internets are broken (again). To be more specific, what has actually happened is a portion of the trust system that is the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172143&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="lock-icon" src="http://gigapple.files.wordpress.com/2009/01/lock-icon.gif?w=125&#038;h=181" alt="" width="125" height="181" class=" alignleft" /></p>
<p class="excerpt">In the event you were too distracted by the festivities associated with the ringing in of the new year and missed the news: <a href="http://arstechnica.com/news.ars/post/20081231-theoretical-attacks-yield-practical-attacks-on-ssl-pki.html">the internets are broken</a> (again).</p>
<p>To be more specific, what has actually happened is a <em>portion</em> of the trust system that is the foundation of secure transactions on public IP networks has been found to be deficient, mostly due to laziness of services such as Verisign and RapidSSL and lack of knowledge/skill on the part of site owners.</p>
<p>The key to this deficiency lies in how SSL certificates are &#8220;signed&#8221; (a way of proving their validity). This post is not about the intricacies of public key infrastructure (PKI), so the takeaway is that certificates signed with a hash algorithm called &#8220;MD5&#8243; really cannot be trusted anymore and those that are signed with the &#8220;SHA-1&#8243; hash algorithm can be trusted (at least to the extent you trust the site you are visiting or the issuer of the certificate). If you are a site owner, make sure your current SSL certs use SHA-1 and insist that your certificate provider/authority (CA) does not use MD5 anymore.<br />
<span id="more-172143"></span></p>
<h3>Surfin&#8217; Safari Securely</h3>
<p>When you visit a secure site in Safari (or any other modern browser) on your Mac, you should see the familiar &#8220;lock&#8221; icon indicating that you are, indeed, in &#8220;secure&#8221; mode.</p>
<p><a href="http://gigapple.files.wordpress.com/2009/01/safari-lock.png"><img  title="safari-lock" src="http://gigapple.files.wordpress.com/2009/01/safari-lock.png?w=500&#038;h=98" alt="" width="500" height="98" class=" alignleft" /></a></p>
<p>Clicking on this icon reveals what are, to most users, boring and useless bits of information that you never look at.</p>
<p><img  title="safari-certinfo" src="http://gigapple.files.wordpress.com/2009/01/safari-certinfo.png?w=500&#038;h=557" alt="" width="500" height="557" class=" alignleft" /></p>
<p>As you can see, the US Bank (which is not my bank) certificate uses SHA-1 as the signature algorithm, which is A Very Good Thing™. You can use this technique on any site to verify the signature algorithm.</p>
<p>Well, you can do this in your <em>desktop</em> browser, at least. To my knowledge, there is no way to do this on the iPhone&#8230;until now.</p>
<h3>Mobile Safari SSL Shenanigans</h3>
<p>From my experiments, the only useful bit of SSL information you get within Mobile Safari from Apple is when there is a problem with a certificate.</p>
<p style="text-align: center;"><img  title="img_0010" src="http://gigapple.files.wordpress.com/2009/01/img_0010.png?w=320&#038;h=480" alt="" width="320" height="480" class=" alignleft" /></p>
<p>Yes, that site is Amazon.com, and yes, if you surf to &#8220;https://amazon.com/&#8221; the way they protect it creates a trust issue (which you can see if you go to that URL in your desktop browser as well).</p>
<p>While that iPhone alert panel is helpful, you still have no way to get access to the certificate information which is where the following bookmarklet can help:</p>
<p style="text-align:center;font-size:2em"><strong><a href="javascript:void(window.open('http://www.rudis.net/mscertcheck/certcheck.cgi?loc='+escape(location.href)));">Check SSL</a></strong></p>
<p>You can drag that URL to your bookmarks bar in your desktop browser and sync it to your iPhone to use within Mobile Safari. I have my bookmarks organized so that &#8220;Check SSL&#8221; is very convenient to use when I bring up the bookmarks panel.</p>
<p><img  title="img_0012" src="http://gigapple.files.wordpress.com/2009/01/img_0012.png?w=325&#038;h=488" alt="" width="325" height="488" class=" alignleft" /></p>
<p>Now, just surf to any secure site in Mobile Safari, bring up the bookmarks panel and select &#8220;Check SSL.&#8221; This will bring up a new &#8220;tab&#8221; with SSL certificate data.</p>
<p><img  title="img_0013" src="http://gigapple.files.wordpress.com/2009/01/img_0013.png?w=320&#038;h=480" alt="" width="320" height="480" class=" alignleft" /></p>
<p>For that example, I went to WaMu&#8217;s (again, not my bank) mobile site and used the bookmarklet. You can see the majority of the relevant SSL certificate information (more coming soon) including the hashing algorithm being used.</p>
<p>Unlike WaMu, RapidSSL, one of the certificate providers called out as relying on the outdated hashing algorithm (MD5), itself continues to use MD5-signed certs.</p>
<p><img  title="img_0001" src="http://gigapple.files.wordpress.com/2009/01/img_0001.png?w=320&#038;h=480" alt="" width="320" height="480" class=" alignleft" /></p>
<p>You can use this tool either as a bookmarklet or as a standard mobile page and just enter the hostname of a site to check.</p>
<p><img  title="img_0008" src="http://gigapple.files.wordpress.com/2009/01/img_0008.png?w=320&#038;h=480" alt="" width="320" height="480" class=" alignleft" /></p>
<p>&#8220;Check SSL&#8221; fills a gap left by Apple in Mobile Safari, one which I hope they fill soon.</p>
<p>I&#8217;m definitely interested in feedback on the tool, especially if there are security-related features you&#8217;d like to see added to it of if you encounter any issues with it on sites you try it out on.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172143+mitigating-a-missing-mobile-safari-security-feature&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/01/mobile-q4-all-eyes-were-on-android-4g-and-the-rising-tablet-tide/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172143+mitigating-a-missing-mobile-safari-security-feature&utm_content=hrbrmstr">Mobile Q4: All Eyes Were on Android, 4G and the Rising Tablet&nbsp;Tide</a></li><li><a href="http://pro.gigaom.com/2010/12/report-a-mobile-video-market-overview/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172143+mitigating-a-missing-mobile-safari-security-feature&utm_content=hrbrmstr">Report: A Mobile Video Market&nbsp;Overview</a></li><li><a href="http://pro.gigaom.com/2010/10/in-q3-the-tablet-and-4g-were-the-big-stories/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172143+mitigating-a-missing-mobile-safari-security-feature&utm_content=hrbrmstr">In Q3, the Tablet and 4G Were the Big&nbsp;Stories</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172143&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/mitigating-a-missing-mobile-safari-security-feature/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/01/lock-icon.gif" medium="image">
			<media:title type="html">lock-icon</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/01/safari-lock.png" medium="image">
			<media:title type="html">safari-lock</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/01/safari-certinfo.png" medium="image">
			<media:title type="html">safari-certinfo</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/01/img_0010.png" medium="image">
			<media:title type="html">img_0010</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/01/img_0012.png" medium="image">
			<media:title type="html">img_0012</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/01/img_0013.png" medium="image">
			<media:title type="html">img_0013</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/01/img_0001.png" medium="image">
			<media:title type="html">img_0001</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/01/img_0008.png" medium="image">
			<media:title type="html">img_0008</media:title>
		</media:content>
	</item>
		<item>
		<title>VirtualBox 2.1 Adds Support for Hardware Virtualization On OS X</title>
		<link>http://gigaom.com/apple/virtualbox-21-adds-support-for-hardware-virtualization-on-os-x/</link>
		<comments>http://gigaom.com/apple/virtualbox-21-adds-support-for-hardware-virtualization-on-os-x/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 17:00:05 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[Parallels]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=13558</guid>
		<description><![CDATA[Christmas has come early for users of VirtualBox, a free and open source virtualization solution from Sun Microsystems. Version 2.1 is a huge upgrade to the product as it includes VT-x and AMD-V hardware virtualization support on OS X and full VMDK/VHD support &#8212; including snapshots [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172105&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="vbox" src="http://gigapple.files.wordpress.com/2008/12/vbox.png?w=128&#038;h=128" alt="" width="128" height="128" class=" alignleft" />Christmas has come early for users of <a href="http://www.virtualbox.org/">VirtualBox</a>, a free and open source virtualization solution from Sun Microsystems. Version 2.1 is a <em>huge</em> upgrade to the product as it includes <strong>VT-x and AMD-V hardware virtualization</strong> support on OS X and full VMDK/VHD support &#8212; including snapshots &#8212; putting it on par (at least from a hardware perspective) with Parallels and VMware.</p>
<p><img  title="dsl-xmas-general-1" src="http://gigapple.files.wordpress.com/2008/12/dsl-xmas-general-1.png?w=604" alt="" class=" alignleft" /></p>
<p>This release also includes support for 64-bit guests on 32-bit host operating systems and <em>experimental 3D acceleration</em>. Networking performance has been boosted and there have been many smaller bug-fixes and enhancements.</p>
<p>VirtualBox has support for a <a href="http://www.virtualbox.org/wiki/Guest_OSes">wide range</a> of guest operating systems and there is an extensive number of <a href="http://helpdesklive.info/download/VirtualBox%20VDI%20free%20images.html">live, pre-built images</a> (VDIs) that are ready to run.</p>
<p>If you only have occasional need to run Windows, Linux or <a href="http://forums.virtualbox.org/viewtopic.php?t=3730">alternative</a> operating systems but do not want to pay for a full VMware or Parallels license, VirtualBox is a great alternative.</p>
<p>Be sure to check out their <a href="http://forums.virtualbox.org/viewforum.php?f=8">Mac-specific forums</a> if you run into any quirks or difficulties. I&#8217;ve found the community to be very helpful and responsive and run a few flavors of Linux in VDIs primarily to be able to take them anywhere (VirtualBox is cross-platform). While it does not have as extensive of an integration between the guest and host systems and there is no support for OS X virtualization yet, VirtualBox is a solid product with a promising future.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172105+virtualbox-21-adds-support-for-hardware-virtualization-on-os-x&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/01/big-data-arm-and-legal-troubles-transformed-infrastructure-in-q4/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172105+virtualbox-21-adds-support-for-hardware-virtualization-on-os-x&utm_content=hrbrmstr">Big Data, ARM and Legal Troubles Transformed Infrastructure in&nbsp;Q4</a></li><li><a href="http://pro.gigaom.com/2010/08/vmwares-cloudy-ambitions-can-it-repeat-hypervisor-success/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172105+virtualbox-21-adds-support-for-hardware-virtualization-on-os-x&utm_content=hrbrmstr">VMware&#8217;s Cloudy Ambitions: Can It Repeat Hypervisor&nbsp;Success?</a></li><li><a href="http://pro.gigaom.com/2011/02/a-2011-infrastructure-forecast/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172105+virtualbox-21-adds-support-for-hardware-virtualization-on-os-x&utm_content=hrbrmstr">A 2011 Infrastructure&nbsp;Forecast</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172105&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/virtualbox-21-adds-support-for-hardware-virtualization-on-os-x/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/vbox.png" medium="image">
			<media:title type="html">vbox</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/dsl-xmas-general-1.png" medium="image">
			<media:title type="html">dsl-xmas-general-1</media:title>
		</media:content>
	</item>
		<item>
		<title>DIY Magi: Great (and Free!) Gift Pack for New Mac Owners</title>
		<link>http://gigaom.com/apple/diy-magi-great-and-free-gift-pack-for-new-mac-owners/</link>
		<comments>http://gigaom.com/apple/diy-magi-great-and-free-gift-pack-for-new-mac-owners/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 18:00:27 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Christmas]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[gift]]></category>
		<category><![CDATA[holiday]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=12476</guid>
		<description><![CDATA[With both shopping days and budgets running short, you may be wondering what to get your friends and family members who have either just purchased or will be receiving a new Mac. With 1-8GB USB flash drives having a street price of ~$6-$15.00 and a plethora [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172200&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="magi" src="http://gigapple.files.wordpress.com/2008/12/magi.png?w=300&#038;h=233" alt="" width="300" height="233" class=" alignleft" /></p>
<p class="excerpt">With both shopping days and budgets running short, you may be wondering what to get your friends and family members who have either just purchased or will be receiving a new Mac.</p>
<p>With 1-8GB USB flash drives having a street price of <a href="http://dealmac.com/categories/Computer/Storage/USB-Flash-Drives/297.html">~$6-$15.00</a> and a plethora of highly useful free software for the Mac ripe for the picking, here is a guide to putting together a relatively inexpensive, yet most invaluable gift that will definitely keep on giving. If you have suggestions for items to include, post your ideas in the comments (it has to be free, remember!).</p>
<p>While TAB cannot distribute a pre-loaded DMG with these items (many have license &#8220;click throughs&#8221; before downloading and/or mounting), we <em>can</em> get you started building your present with this handy <a href="http://theappleblog.com/wp-content/uploads/2008/12/presentdmg.zip">pre-built DMG file</a> (ZIP), complete with custom disk image, background image and folder icons, all pre-layed out for you.<br />
<span id="more-172200"></span></p>
<p style="text-align: center;"><img  title="merry-christmas" src="http://gigapple.files.wordpress.com/2008/12/merry-christmas.png?w=604" alt="" class=" alignleft" /></p>
<h3>Core System Elements</h3>
<ul>
<li><a href="http://growl.info/">Growl</a> + <a href="http://gigaom.com/apple/best-kept-secrets-hardware-growler/">Hardware Growler</a> – Great way to receive system and application notifications.</li>
<li><a href="http://www.islayer.com/apps/istatmenus/">iStat Menus</a> – CPU, memory, enhanced date/time with calendar and more right in your menu bar.</li>
<li><a href="http://www.perian.org/">Perian</a> – &#8220;The Swiss-Army knife for QuickTime&#8221; that lets you play more media formats than you will ever need.</li>
<li><a href="http://briksoftware.com/products/unplugged/">UnPlugged</a> – Visual notification when your Mac becomes unplugged.</li>
<li><a href="http://www.blacktree.com/">Quicksilver</a> – Put almost every aspect of your OS X system components and applications right at your fingertips.</li>
<li><a href="http://www.virtualbox.org/">VirtualBox</a> – Free virtualization tool for OS X which lets you run Windows, Linux or other operating systems side-by-side with OS X.</li>
</ul>
<h3>Must-have Utilities</h3>
<ul>
<li><a href="http://audacity.sourceforge.net/">Audacity</a> – For all your sound recording and editing needs.</li>
<li><a href="http://fluidapp.com/">Fluid</a> – Turn any web site into a desktop application.</li>
<li><a href="http://handbrake.fr/">HandBrake</a> – Preserve and convert video media and files.</li>
<li><a href="http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html">SuperDuper!</a> – Don&#8217;t rely solely on Time Machine to preserve your data. SuperDuper! puts you back in control of your backups.</li>
<li><a href="http://www.barebones.com/products/textwrangler/">TextWrangler</a> – Let&#8217;s face it, TextEdit just does not cut it for power editing. This baby brother of BBEdit is a great free alternative, filled with options and support for many programming languages.</li>
<li><a href="http://www.transmissionbt.com/">Transmission</a> – When you need a torrent, Transmission is the best way to get it.</li>
<li><a href="http://www.videolan.org/">VLC</a> – If there is a video or audio file that VLC cannot play, it won&#8217;t be long before support for it is added.</li>
<li><a href="http://burn-osx.sourceforge.net/">Burn</a> – Comprehensive audio, video and data media burning software.</li>
</ul>
<h3>Security</h3>
<ul>
<li><a href="http://www.clamxav.com/">ClamXav</a> – Don&#8217;t join in the misconception that OS X is safe from the evils of the internets. ClamXav is a great, free anti-virus solution for OS X.</li>
<li><a href="http://www.truecrypt.org/">TrueCrypt</a> – Create cross-platform, virtual encrypted disks to keep your private data private.</li>
<li><a href="http://www.wireshark.org/">Wireshark</a> – See what is really going in and out of your system/network. Great troubleshooting tool as well as a security-related app.</li>
<li><a href="http://nmap.org/">nmap</a> – One of the most comprehensive network scanners available. Find out who and what is running on your network.</li>
</ul>
<h3>Communication/Social Networking</h3>
<ul>
<li><a href="http://www.adiumx.com/">Adium</a> – Centralize all your instant messaging, from .Mac to Facebook.</li>
<li><a href="http://www.mozilla.com/firefox/">Firefox</a> – Despite growing compatibility with WebKit, there are times when Firefox is needed to view a problematic site.</li>
<li><a href="http://www.last.fm/">Last.fm</a> - Personalized radio stations.</li>
<li><a href="http://www.newsgator.com/INDIVIDUALS/NETNEWSWIRE/">NetNewsWire</a> – NNW puts you back in command of your RSS feeds.</li>
<li><a href="http://www.skype.com/">Skype</a> – Free or cheap voice, video and text calls to anywhere in the world.</li>
<li><a href="http://iconfactory.com/software/twitterrific">Twitterrific</a> – The clean and classic way to tweet from your Mac.</li>
</ul>
<h3>Productivity/GTD</h3>
<ul>
<li><a href="http://evernote.com/">Evernote</a> – Store notes, web clips and more right from your browser or desktop.</li>
<li><a href="http://www.openoffice.org/">OpenOffice</a> – Full office productivity suite offering compatibility with Microsoft&#8217;s comparable suite.</li>
<li><a href="http://seashore.sourceforge.net/index.php">Seashore</a> – Powerful image editor based on GIMP.</li>
</ul>
<h3>Fitness</h3>
<ul>
<li><a href="http://trailrunnerx.com/">TrailRunner</a> – get into shape, track your cycling and train for that marathon.</li>
</ul>
<h3>Education</h3>
<ul>
<li><a href="http://earth.google.com/">Google Earth</a> – Satellite imagery, maps, terrain, and more.</li>
<li><a href="http://stellarium.sourceforge.net/">Stellarium</a> – Chart the heavens on your Mac.</li>
</ul>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172200+diy-magi-great-and-free-gift-pack-for-new-mac-owners&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2010/07/report-an-open-source-smart-grid-primer/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172200+diy-magi-great-and-free-gift-pack-for-new-mac-owners&utm_content=hrbrmstr">Report: An Open Source Smart Grid&nbsp;Primer</a></li><li><a href="http://pro.gigaom.com/2009/09/what-should-carriers-do-about-over-the-top-video/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172200+diy-magi-great-and-free-gift-pack-for-new-mac-owners&utm_content=hrbrmstr">Note: Telco Strategies for Over-the-Top&nbsp;Video</a></li><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172200+diy-magi-great-and-free-gift-pack-for-new-mac-owners&utm_content=hrbrmstr">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172200&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/diy-magi-great-and-free-gift-pack-for-new-mac-owners/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/magi.png" medium="image">
			<media:title type="html">magi</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/merry-christmas.png" medium="image">
			<media:title type="html">merry-christmas</media:title>
		</media:content>
	</item>
		<item>
		<title>2008 Best App Ever Awards: Your Vote Counts!</title>
		<link>http://gigaom.com/apple/2008-best-app-ever-awards-your-vote-counts/</link>
		<comments>http://gigaom.com/apple/2008-best-app-ever-awards-your-vote-counts/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 14:00:55 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[Akamai]]></category>
		<category><![CDATA[award]]></category>
		<category><![CDATA[best app]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[nominate]]></category>
		<category><![CDATA[recognition]]></category>
		<category><![CDATA[State of Broadband]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=13587</guid>
		<description><![CDATA[iPhone news and review site 148apps.com has announced the launch of Best App Ever, a new site which allows you to nominate your favorite apps and games in any one of thirty categories. Most Innovative App &#8211; The most innovative app on the iPhone OS platform [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172107&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="vote-1" src="http://gigapple.files.wordpress.com/2008/12/vote-1.png?w=217&#038;h=395" alt="" width="217" height="395" class=" alignleft" /></p>
<p class="excerpt">iPhone news and review site <a href="http://148apps.com/">148apps.com</a> has <a href="http://www.148apps.com/news/announcing-2008-app-awards/">announced</a> the launch of <a href="http://bestappever.com/">Best App Ever</a>, a new site which allows you to nominate your favorite apps and games in any one of thirty categories.</p>
<ul>
<li><em>Most Innovative App</em> &#8211; The most innovative app on the iPhone OS platform</li>
<li><em>Most Useful App</em> &#8211; The app you just can&#8217;t live without</li>
<li><em>Best Free or Ad Supported App</em> &#8211; The best free or ad-supported application &#8211; must currently be free in the US App Store</li>
<li><em>Best 99 Cent App</em> &#8211; The &#8216;I can&#8217;t believe this only cost $.99&#8242; app &#8211; must currently cost $0.99 in the US App Store</li>
<li><em>Best iPhone WOW App</em> &#8211; The app makes your friends jealous (and want to buy an iPhone)</li>
<li><em>Best Productivity Enhancer</em> &#8211; The app that helps you get it done in half the time</li>
<li><em>Best Productivity Killer</em> &#8211; The app that prevents you from getting it done</li>
<li><em>Best Feel Like A Local App</em> &#8211; The app that helps the traveler find the local hot spots</li>
<li><em>Best Outdoor Use App</em> &#8211; The app that enhances travel, outdoor exploration or transit use</li>
<li><em>Best Musical Instrument App</em> &#8211; The app that turns the iPhone into a musical instrument, and you into a rock star</li>
<li><em>Best Social Networking App</em> &#8211; The app that keeps you connected on the road</li>
<li><em>Best Photography App</em> &#8211; The app that turns iPhone photography into masterpieces</li>
<li><em>Best Kid Distraction App</em> &#8211; The app that keeps your kids happy (for a minute)</li>
<li><em>Most Creative Use of iPhone Hardware</em> &#8211; The app that does things with the iPhone hardware that the Apple would never have dreamed of</li>
<li><em>Best Use of Location Services</em> &#8211; The app that uses the core location services in new and innovative ways</li>
<li><em>Most Original User Interface</em> &#8211; The app that redefines interface design</li>
<li><em>Best User Interface</em> &#8211; The app with the best user interface in an application or game</li>
<li><em>Most Innovative Game</em> &#8211; The game that has shown the greatest innovation on the platform</li>
<li><em>Best Original Game</em> &#8211; The best game that is original on the iPhone platform</li>
<li><em>Best Game Port</em> &#8211; The best game adapted from another platform or system</li>
<li><em>Best Casual Game</em> &#8211; The game that is easy to pick up and play while you wait for your coffee to brew</li>
<li><em>Best Long-Play Game</em> &#8211; The game that sucks you and won&#8217;t let you go until your battery dies</li>
<li><em><em>Best Free or Ad Supported Game</em> &#8211; The best free or ad-supported game</em> &#8211; must currently be free in the US App Store</li>
<li><em>Best 99 Cent Game</em> &#8211; The &#8216;I can&#8217;t believe this only cost $.99&#8242; app &#8211; must currently cost $0.99 in the US App Store</li>
<li><em>Best Game Graphics</em> &#8211; The game with the killer graphics</li>
<li><em>Best Game Controls</em> &#8211; The game with the best use of the iPhone hardware for a game controller</li>
<li><em>Best Arcade Game</em> &#8211; The game that rocks the arcade or action genre</li>
<li><em>Best Puzzle Game</em> &#8211; The game that makes puzzles exciting again</li>
<li><em>Best Traditional Game</em> &#8211; The game that celebrates tradition &#8212; card, board, casino, etc.</li>
<li><em>Best Racing Game</em> &#8211; The game that gets your adrenaline pumping</li>
<li><em>Best Kids Game</em> &#8211; The game or educational app you want your kid to play</li>
<li><em>Best Strategy Game</em> &#8211; The game that keeps you one step ahead</li>
<li><em>Best Word Game</em> &#8211; The game that lets you exercise your vocabulary</li>
</ul>
<p>You can submit your nominations at the Best App Ever main site by clicking on the category and entering the information for the application. On December 31 the nominees for all categories will be posted and polls will open. The winners will be announced on January 7, 2009 at Macworld Expo.</p>
<p>This is a great opportunity to give your favorite iPhone developers a chance at some additional recognition for a job well done.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172107+2008-best-app-ever-awards-your-vote-counts&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/01/mobile-q4-all-eyes-were-on-android-4g-and-the-rising-tablet-tide/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172107+2008-best-app-ever-awards-your-vote-counts&utm_content=hrbrmstr">Mobile Q4: All Eyes Were on Android, 4G and the Rising Tablet&nbsp;Tide</a></li><li><a href="http://pro.gigaom.com/2011/01/big-data-arm-and-legal-troubles-transformed-infrastructure-in-q4/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172107+2008-best-app-ever-awards-your-vote-counts&utm_content=hrbrmstr">Big Data, ARM and Legal Troubles Transformed Infrastructure in&nbsp;Q4</a></li><li><a href="http://pro.gigaom.com/2010/12/report-a-mobile-video-market-overview/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172107+2008-best-app-ever-awards-your-vote-counts&utm_content=hrbrmstr">Report: A Mobile Video Market&nbsp;Overview</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172107&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/2008-best-app-ever-awards-your-vote-counts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/vote-1.png" medium="image">
			<media:title type="html">vote-1</media:title>
		</media:content>
	</item>
		<item>
		<title>Tales From the Command Line: textutil</title>
		<link>http://gigaom.com/apple/tales-from-the-command-line-textutil-2/</link>
		<comments>http://gigaom.com/apple/tales-from-the-command-line-textutil-2/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 19:00:31 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[Convert]]></category>
		<category><![CDATA[doc]]></category>
		<category><![CDATA[docx]]></category>
		<category><![CDATA[droplet]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[tales from the command line]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[textutil]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=12908</guid>
		<description><![CDATA[I really enjoy the overall experience reading books and articles on my Sony PRS-500 eBook reader, but dislike having to fire up Boot Camp or VMware into Windows in order to purchase books from the Sony eBook Store, especially when there are thousands of books in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172191&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="terminal-icon" src="http://theappleblog.com/wp-content/uploads/2008/12/terminal-icon.png" alt="" width="128" height="128" class=" alignleft" />I really enjoy the overall experience reading books and articles on my <a href="http://esupport.sony.com/US/perl/model-home.pl?mdl=PRS500">Sony PRS-500</a> eBook reader, but dislike having to fire up Boot Camp or VMware into Windows in order to purchase books from the <a href="http://ebookstore.sony.com/">Sony eBook Store</a>, especially when there are thousands of books in the public domain and tons of blog and article content on the internets for free.</p>
<p>The problem lies with getting this information onto said device. to make my life easier, I use a utility that first appeared in OS X 10.4 called <code>textutil</code>. As you will see, the utility of this small tool goes far beyond formatting content for eBook readers. As always, fire up Terminal.app and have it ready to roll as we delve <a href="http://theappleblog.com/tag/tales-from-the-command-line/">once again</a> down to the command line.<br />
<span id="more-172191"></span></p>
<h3>Formats A-Plenty</h3>
<p>While I have a very specific and regular use-case for <code>textutil</code>, there are plenty of features that make it a highly useful and general purpose tool. (For most of the examples, I will be using <a href="http://www.gutenberg.org/files/46/46-8.txt">text</a> and <a href="http://etext.virginia.edu/etcbin/toccer-new2?id=DicChri.sgm&amp;images=images/modeng&amp;data=/texts/english/modeng/parsed&amp;tag=public&amp;part=all">HTML</a> version of <em>A Christmas Carol</em> by Charles Dickens) The first lies in format support. <code>textutil</code> can convert from/to <strong>txt</strong>, <strong>html</strong>, <strong>rtf</strong>, <strong>rtfd</strong>, <strong>doc</strong>, <strong>docx</strong>, <strong>wordml</strong>, <strong>odt</strong> and <strong>webarchive</strong>. Picture a scenario where you receive a large number of HTML documents from an existing project that are just wretched and you really only need access to the raw text to begin anew. While you may have techniques for stripping HTML tags, <code>textutil</code> can do the heavy lifting for you with ease:</p>
<pre style="padding-left:40px;padding-bottom:14px">$textutil -convert txt ChristmasCarol.html</pre>
<p>Since you can specify as many files as you like on the command line, batch processing an entire directory is just as easy:</p>
<pre style="padding-left:40px;padding-bottom:14px">$textutil -convert txt *.html</pre>
<p>If you have an article broken up into many pieces and want to convert (or keep in the same format) and concatenate them into one large file just use the <code>-cat</code> option:</p>
<pre style="padding-left:40px;padding-bottom:14px">$textutil -cat html *.txt</pre>
<p>If you have a look at the <a href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/textutil.1.html">texutil manual page</a>, you will see that you have complete control over the location, name and extension of output files and can even specify font name and style. This is very handy for my use-case since I have a certain base font size I like to use with the reader:</p>
<pre style="padding-left:40px;padding-bottom:14px">textutil -convert rtf -font Times -fontsize 14 ArticleToConvert.html</pre>
<p>You also do not need to save HTML files from your browser first. The <code>-stdin</code> option lets you work some further command line magic (by pairing <code>textutil</code> with <code>curl</code>) to convert your data directly from the web:</p>
<p> </p>
<pre style="width: 90%; overflow-x: auto; padding-left: 40px; padding-bottom: 14px;">$curl --silent http://slashdot.org/ | textutil -stdin -convert txt -output slashdot.txt</pre>
<p> </p>
<h3>Metadata Madness</h3>
<p><code>textutil</code> does its best to preserve file information, but you may not want to keep such data around or you may want to modify it in some way. The <strong>-strip</strong> option clears away all metadata while the <strong>-title</strong>, <strong>-author</strong>, <strong>-subject</strong>, <strong>-comment</strong>, <strong>-editor</strong>, and <strong>-company</strong> flags all take parameters that let you specify your own values for each field. You can add your own metadata keywords via the <strong>-keywords</strong> option and even modify the creation and modification dates through <strong>-creationtime</strong> and <strong>-modificationtime</strong> flags.</p>
<h3>Unearthing textutil From the Command Line</h3>
<p>While dropping into Terminal.app to do some conversions is fine, it would be easier for most users if there was a more accessible way to perform conversion tasks, especially if they are somewhat routine operations. For this, we turn to the power of AppleScript and its ability to make Droplets, which are nothing more than applications that respond to specific events. Fire up Script Editor and enter the following code:</p>
<p><!-- .as2 { font-weight: bold; color: #2800FF; } .as3 { color: #000000; } .as4 { color: #0000FF; } .as5 { color: #4F7F00; }  .as6 { color: #000000; } --></p>
<p> </p>
<pre class="applescript" style="width: 90%; overflow-x: auto; padding-left: 40px; padding-bottom: 14px;"><span class="as2">on</span><span class="as3"> </span><span class="as4">open</span><span class="as3"> </span><span class="as5">droppedFiles</span><span class="as3">
</span><span class="as3">	</span><span class="as2">repeat</span><span class="as3"> </span><span class="as2">with</span><span class="as3"> </span><span class="as5">macFile</span><span class="as3"> </span><span class="as2">in</span><span class="as3"> </span><span class="as5">droppedFiles</span><span class="as3">
</span><span class="as3">		</span><span class="as2">set</span><span class="as3"> </span><span class="as5">unixFile</span><span class="as3"> </span><span class="as2">to</span><span class="as3"> </span><span class="as4">quoted form</span><span class="as3"> </span><span class="as2">of</span><span class="as3"> </span><span class="as4">POSIX path</span><span class="as3"> </span><span class="as2">of</span><span class="as3"> </span><span class="as5">macFile</span><span class="as3">
		</span><span class="as2">set</span><span class="as3"> </span><span class="as5">shellScript</span><span class="as3"> </span><span class="as2">to</span><span class="as3"> </span><span class="as6">("/usr/bin/textutil -convert rtf -font Times -fontsize 14 "</span><span class="as3"> </span><span class="as6">&amp;</span><span class="as3"> </span><span class="as5">unixFile</span><span class="as6">)</span><span class="as3">
		</span><span class="as4">display alert</span><span class="as3"> </span><span class="as5">shellScript</span><span class="as3">
		</span><span class="as4">do shell script</span><span class="as3"> </span><span class="as5">shellScript</span><span class="as3">
</span><span class="as3">	</span><span class="as2">end</span><span class="as3"> </span><span class="as2">repeat</span><span class="as3">
	</span><span class="as2">return</span><span class="as3">
</span><span class="as2">end</span><span class="as3"> </span><span class="as4">open</span></pre>
<p> </p>
<p>Save the script as both a normal script (so you can edit it later) and then save it as an application (so you can make it a Droplet). Now you have a handy tool which you can drop any number of files on to batch convert right from the Finder. You can customize this script to perform the transformations you need and create as many droplets as you see fit.</p>
<p><strong><a href="http://theappleblog.com/wp-content/uploads/2008/12/toreaderrtfexample.zip">Download the source code</a></strong></p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172191+tales-from-the-command-line-textutil-2&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172191+tales-from-the-command-line-textutil-2&utm_content=hrbrmstr">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172191+tales-from-the-command-line-textutil-2&utm_content=hrbrmstr">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172191+tales-from-the-command-line-textutil-2&utm_content=hrbrmstr">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172191&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/tales-from-the-command-line-textutil-2/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/terminal-icon.png" medium="image">
			<media:title type="html">terminal-icon</media:title>
		</media:content>
	</item>
		<item>
		<title>iPhone &amp; OS X DIY: Take Control Of Your Holiday Displays With Griswold</title>
		<link>http://gigaom.com/apple/iphone-os-x-diy-take-control-of-your-holiday-displays-with-griswold/</link>
		<comments>http://gigaom.com/apple/iphone-os-x-diy-take-control-of-your-holiday-displays-with-griswold/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 19:00:46 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[Christmas]]></category>
		<category><![CDATA[christmas lights]]></category>
		<category><![CDATA[firecracker]]></category>
		<category><![CDATA[holiday lights]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[pyobjc]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[python-cocoa]]></category>
		<category><![CDATA[X10]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=13193</guid>
		<description><![CDATA[&#8220;Wouldn&#8217;t it be cool if you could control your Christmas lights from your iPhone?&#8221; That simple question, posed in passing eleven days ago by a good friend, set off a flurry of activity which has become Griswold.app (for the iPhone/iPod touch) and Griswold Server (for OS [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172085&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://gigapple.files.wordpress.com/2008/12/house.png?w=250&#038;h=151" alt="" title="house" width="250" height="151"  class=" alignleft" />&#8220;Wouldn&#8217;t it be cool if you could control your Christmas lights from your iPhone?&#8221; That simple question, posed in passing eleven days ago by a good friend, set off a flurry of activity which has become <a href="http://griswoldapp.com">Griswold.app</a> (for the iPhone/iPod touch) and <a href="http://griswoldapp.com/Griswold_App/Downloads.html">Griswold Server</a> (for OS X Leopard, Windows and Linux/BSD). Both are being released here with full source to each and you may just be able to download it from the App Store by the end of the week as well.</p>
<p>If you are one to deck the halls&#8230;and the family room&#8230;and the kitchen&#8230;and the roof then you know how difficult it can be controlling all those displays. Timers are somewhat effective, but are always out of sync with each other. Simple RF remotes provide better control but must be in range or have line-of-sight to work. It really <i>would</i> be cool to be able to control these creations from an iPhone!<br />
<span id="more-172085"></span></p>
<h3>It&#8217;s A Long Way Down Holiday Road</h3>
<p>To view the Xcode project and build the iPhone app you will need a copy of the <a href="http://www.google.com/url?q=http://developer.apple.com/iPhone/program/download.html&#038;sa=X&#038;oi=smap&#038;resnum=1&#038;ct=result&#038;cd=1&#038;usg=AFQjCNGwwIJ8SkEpvPUDKcjxqZuJkKnHkg">iPhone SDK</a> from Apple. That Xcode install will also meet the needs of the back-end server. You will need to download both the <a href="http://theappleblog.com/wp-content/uploads/2008/12/griswold-iphone-src.zip">Griswold iPhone app source</a> (ZIP) and the <a href='http://theappleblog.com/wp-content/uploads/2008/12/griswoldserver-src.zip'>Griswold Server app source</a> (ZIP).</p>
<p>In terms of hardware, you will need an <a href="http://www.x10.com/automation/firecracker.htm">X10 FireCracker</a> starter kit (I recommend purchasing from <a href="http://shop.ebay.com/?_trksid=m38.l1313&#038;_nkw=x10+firecracker&#038;_sacat=See-All-Categories">X10-Express</a> as they have better prices and no pop-ups). NOTE: You may need more X10 outlets depending on the scale of your display. Since your Mac undoubtedly does not have a serial port, you will also need a USB<->Serial adapter (<a href="http://serialio.com/products/adaptors/usb_serial.php">SerialIO</a> has a decent one). The FireCracker module that attaches to your Mac sends wireless commands (i.e. &#8220;on&#8221;, &#8220;off&#8221;) to the receiver which relays them to the X10 &#8220;network&#8221; of modules. This is all maintained by the server component:</p>
<p><img src="http://gigapple.files.wordpress.com/2008/12/griswold-server.png?w=604" alt="" title="griswold-server"  class=" alignleft" /></p>
<p>The iPhone interface needs an IP address to talk to and you can use either the local or remote one, but for the &#8220;remote&#8221; one to work, you will need to configure port-forwarding on your Internet router (forward TCP port 8786 to the internal address).</p>
<p>Each X10 &#8220;switch&#8221; is addressed by a house code and unit code. Griswold Server lets you choose which house code your display is on and can either control a single unit code or all unit codes for a house code. You must choose the serial interface the FireCracker is connected to and you have the option of defaulting your display to &#8220;on&#8221; when the server starts up. &#8220;Seekrit&#8221; also needs to match what you enter on the iPhone.</p>
<p><img src="http://gigapple.files.wordpress.com/2008/12/serverprefs.png?w=433&#038;h=265" alt="" title="serverprefs" width="433" height="265"  class=" alignleft" /></p>
<p>You really do not need the iPhone controller as you can turn the system on and off right from the server console window. But that&#8217;s not nearly as cool.</p>
<p>The server is written using the Python-Cocoa bridge and may be a good starting point for folks who are looking into doing development on the Mac. The application has full <a href="http://growl.info/">Growl support</a> and uses the <a href="">Sparkle framework</a> for automatic updates (in the event you want to just use the server without compiling from source, <a href='http://theappleblog.com/wp-content/uploads/2008/12/griswoldserver.zip'>it, too, is available</a>). You can watch for errors in <code>~/Library/Logs/Griswold Server</code> and take a look at the configuration file in <code>~/Library/Preferences/Griswold Server/Griswold Server.plist</code>.</p>
<h3>For Your iPhone</h3>
<p>As you can see below, the iPhone interface is pretty straightforward. The initial screen shows you the current status (display is on or off) and presents you with a simple, singular control to change that stats:</p>
<p><img src="http://gigapple.files.wordpress.com/2008/12/mainscreen.png?w=320&#038;h=480" alt="" title="mainscreen" width="320" height="480"  class=" alignleft" /></p>
<p>As noted earlier, the configuration screen asks you for an IP address and secret code (akin to &#8220;pairing&#8221;) and gives you the ability to test the connection or force the system to an on or off state.</p>
<p><img src="http://gigapple.files.wordpress.com/2008/12/internalconfigscreen.png?w=320&#038;h=480" alt="" title="internalconfigscreen" width="320" height="480"  class=" alignleft" /></p>
<p>Since the application&#8217;s main function is to pass commands back to the server and retrieve current display status, the majority of the the work is done via a very handy utility method:</p>
<style type="text/css">
pre.textmate-source {margin:0;padding:0 0 0 2px;font-family:Monaco,monospace;font-size:11px;line-height:1.3em; word-wrap:break-word; white-space: pre; white-space: pre-wrap;white-space:-moz-pre-wrap;white-space:-o-pre-wrap;}
pre.textmate-source {color: #000000; background-color: #FFFFFF;}
pre.textmate-source .linenum {width:75px;padding:0.1em 1em 0.2em 0;color:#888;background-color:#eee;}
pre.textmate-source span {padding-top:0.2em;padding-bottom: 0.1em;}
pre.textmate-source ::selection {background-color:#BAD6FD;}
pre.textmate-source .comment {color:#919191;}
pre.textmate-source .string {color:#00A33F;}
pre.textmate-source .constant_numeric {}
pre.textmate-source .constant_language {color: #A535AE;}
pre.textmate-source .constant_character, pre.textmate-source .constant_other {}
pre.textmate-source .variable_language, pre.textmate-source .variable_other {}
pre.textmate-source .keyword {color:#FF5600;}
pre.textmate-source .storage {color:#FF5600;}
pre.textmate-source .entity_name_type {color: #21439C;}
pre.textmate-source .entity_other_inherited-class {}
pre.textmate-source .entity_name_function {color: #21439C;}
pre.textmate-source .variable_parameter {}
pre.textmate-source .entity_name_tag {}
pre.textmate-source .entity_other_attribute-name {}
pre.textmate-source .support_function {color: #A535AE;}
pre.textmate-source .support_constant {color: #A535AE;}
pre.textmate-source .support_type, pre.textmate-source .support_class {color: #A535AE;}
pre.textmate-source .support_variable {	color: #A535AE;}
pre.textmate-source .invalid {color: #FFFFFF;background-color: #990000;}
pre.textmate-source .constant_other_placeholder_py {color: #990000;}
</style>
<pre class="textmate-source" style="padding-bottom:14px"><span class="source source_objc source_objc_iPhone"><span class="meta meta_implementation meta_implementation_objc"><span class="meta meta_scope meta_scope_implementation meta_scope_implementation_objc"><span class="meta meta_function-with-body meta_function-with-body_objc"><span class="meta meta_block meta_block_c"><span class="meta meta_block meta_block_c">       <span class="support support_class support_class_cocoa support_class_cocoa_touch">NSString</span> *myResponse = <span class="meta meta_bracketed meta_bracketed_objc"><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_begin punctuation_section_scope_begin_objc">[</span> <span class="support support_class support_class_cocoa support_class_cocoa_touch">NSString</span> <span class="meta meta_function-call meta_function-call_objc"><span class="support support_function support_function_any-method support_function_any-method_objc">stringWithContentsOfURL<span class="punctuation punctuation_separator punctuation_separator_arguments punctuation_separator_arguments_objc">:</span></span>url
                                  <span class="support support_function support_function_any-method support_function_any-method_name-of-parameter support_function_any-method_name-of-parameter_objc">encoding<span class="punctuation punctuation_separator punctuation_separator_arguments punctuation_separator_arguments_objc">:</span></span><span class="support support_constant support_constant_cocoa support_constant_cocoa_touch">NSUTF8StringEncoding</span> <span class="support support_function support_function_any-method support_function_any-method_name-of-parameter support_function_any-method_name-of-parameter_objc">error<span class="punctuation punctuation_separator punctuation_separator_arguments punctuation_separator_arguments_objc">:</span></span>&amp;error </span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_end punctuation_section_scope_end_objc">]</span></span> ;
</span></span></span></span></span></span></pre>
<p>All you have to do is create a URL and <span class="support support_class support_class_cocoa support_class_cocoa_touch">NSString</span> takes care of setting up the connection, issuing the request, closing down the connection and converting the result to an immediately usable Cocoa string.</p>
<p>Prior to calling this method, it is important to know whether one should bother to since the device may not have connectivity.</p>
<pre class="textmate-source" style="padding-bottom:14px"><span class="source source_objc source_objc_iPhone"><span class="meta meta_implementation meta_implementation_objc"><span class="meta meta_scope meta_scope_implementation meta_scope_implementation_objc"><span class="meta meta_function-with-body meta_function-with-body_objc"><span class="meta meta_block meta_block_c">   <span class="keyword keyword_control keyword_control_c">if</span><span class="meta meta_initialization meta_initialization_c"> <span class="punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_c">(</span></span><span class="meta meta_bracketed meta_bracketed_objc"><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_begin punctuation_section_scope_begin_objc">[</span> RootViewController <span class="meta meta_function-call meta_function-call_objc"><span class="support support_function support_function_any-method support_function_any-method_objc">isServerReachable<span class="punctuation punctuation_separator punctuation_separator_arguments punctuation_separator_arguments_objc">:</span></span>hostnameOrIPValue </span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_end punctuation_section_scope_end_objc">]</span></span> &amp;&amp;
       <span class="meta meta_bracketed meta_bracketed_objc"><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_begin punctuation_section_scope_begin_objc">[</span> RootViewController <span class="meta meta_function-call meta_function-call_objc"><span class="support support_function support_function_any-method support_function_any-method_objc">canConnect<span class="punctuation punctuation_separator punctuation_separator_arguments punctuation_separator_arguments_objc">:</span></span>hostnameOrIPValue
                            <span class="support support_function support_function_any-method support_function_any-method_name-of-parameter support_function_any-method_name-of-parameter_objc">onPort<span class="punctuation punctuation_separator punctuation_separator_arguments punctuation_separator_arguments_objc">:</span></span><span class="constant constant_numeric constant_numeric_c">8786</span> <span class="support support_function support_function_any-method support_function_any-method_name-of-parameter support_function_any-method_name-of-parameter_objc">withTimeout<span class="punctuation punctuation_separator punctuation_separator_arguments punctuation_separator_arguments_objc">:</span></span><span class="constant constant_numeric constant_numeric_c">5.0</span></span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_end punctuation_section_scope_end_objc">]</span></span>) <span class="meta meta_block meta_block_c">{
</span></span></span></span></span></span></pre>
<p> A quick test (the above code) accomplishes this and relies on two equally simple methods &#8212; <code>isServerReachable:</code> &amp; <code>canConnect:</code>. The first takes advantage of the iPhone SDK &#8220;reachability&#8221; API, but that just tells you whether there is a network path to the host. The second one actually makes a TCP connection on a specified port with a timeout (to avoid hanging the UI) and lets the caller know whether full connectivity is possible.</p>
<pre class="textmate-source" style="padding-bottom:14px"><span class="source source_objc source_objc_iPhone"><span class="meta meta_implementation meta_implementation_objc"><span class="meta meta_scope meta_scope_implementation meta_scope_implementation_objc"><span class="meta meta_function-with-body meta_function-with-body_objc"><span class="meta meta_function meta_function_objc">+ <span class="meta meta_return-type meta_return-type_objc"><span class="punctuation punctuation_definition punctuation_definition_type punctuation_definition_type_objc">(</span><span class="storage storage_type storage_type_objc">BOOL</span><span class="punctuation punctuation_definition punctuation_definition_type punctuation_definition_type_objc">)</span><span class="entity entity_name entity_name_function entity_name_function_objc">canConnect</span></span><span class="meta meta_argument-type meta_argument-type_objc"><span class="entity entity_name entity_name_function entity_name_function_name-of-parameter entity_name_function_name-of-parameter_objc"><span class="punctuation punctuation_separator punctuation_separator_arguments punctuation_separator_arguments_objc">:</span></span><span class="punctuation punctuation_definition punctuation_definition_type punctuation_definition_type_objc">(</span><span class="support support_class support_class_cocoa support_class_cocoa_touch">NSString</span> *<span class="punctuation punctuation_definition punctuation_definition_type punctuation_definition_type_objc">)</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_objc">ipAddress</span></span> <span class="entity entity_name entity_name_function entity_name_function_name-of-parameter entity_name_function_name-of-parameter_objc">onPort</span><span class="meta meta_argument-type meta_argument-type_objc"><span class="entity entity_name entity_name_function entity_name_function_name-of-parameter entity_name_function_name-of-parameter_objc"><span class="punctuation punctuation_separator punctuation_separator_arguments punctuation_separator_arguments_objc">:</span></span><span class="punctuation punctuation_definition punctuation_definition_type punctuation_definition_type_objc">(</span><span class="storage storage_type storage_type_c">int</span><span class="punctuation punctuation_definition punctuation_definition_type punctuation_definition_type_objc">)</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_objc">port</span></span> <span class="entity entity_name entity_name_function entity_name_function_name-of-parameter entity_name_function_name-of-parameter_objc">withTimeout</span><span class="meta meta_argument-type meta_argument-type_objc"><span class="entity entity_name entity_name_function entity_name_function_name-of-parameter entity_name_function_name-of-parameter_objc"><span class="punctuation punctuation_separator punctuation_separator_arguments punctuation_separator_arguments_objc">:</span></span><span class="punctuation punctuation_definition punctuation_definition_type punctuation_definition_type_objc">(</span><span class="storage storage_type storage_type_c">double</span><span class="punctuation punctuation_definition punctuation_definition_type punctuation_definition_type_objc">)</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_objc">seconds</span></span> </span><span class="meta meta_block meta_block_c">{

    <span class="keyword keyword_control keyword_control_exception keyword_control_exception_objc"><span class="punctuation punctuation_definition punctuation_definition_keyword punctuation_definition_keyword_objc">@</span>try</span> <span class="meta meta_block meta_block_c">{

        <span class="support support_type support_type_cocoa support_type_cocoa_touch">CFSocketRef</span> socket ;

       <span class="comment comment_line comment_line_double-slash comment_line_double-slash_c++"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_c">//</span> We justneed a TCP socket. Nothing fancy.
</span>
        socket =<span class="meta meta_function-call meta_function-call_c"><span class="punctuation punctuation_whitespace punctuation_whitespace_function-call punctuation_whitespace_function-call_leading punctuation_whitespace_function-call_leading_c"> </span><span class="support support_function support_function_any-method support_function_any-method_c">CFSocketCreate</span>(</span><span class="constant constant_other constant_other_variable constant_other_variable_mac-classic constant_other_variable_mac-classic_c">kCFAllocatorDefault</span>,
                                PF_INET,SOCK_STREAM,IPPROTO_TCP,
                                <span class="constant constant_numeric constant_numeric_c">0</span>,<span class="constant constant_language constant_language_c">NULL</span>,<span class="constant constant_language constant_language_c">NULL</span>);
        <span class="storage storage_type storage_type_c">struct</span> sockaddr_in<span class="punctuation punctuation_whitespace punctuation_whitespace_support punctuation_whitespace_support_function punctuation_whitespace_support_function_leading punctuation_whitespace_support_function_leading_c"> </span><span class="support support_function support_function_C99 support_function_C99_c">sin</span>;

<span class="punctuation punctuation_whitespace punctuation_whitespace_support punctuation_whitespace_support_function punctuation_whitespace_support_function_leading punctuation_whitespace_support_function_leading_c">        </span><span class="support support_function support_function_C99 support_function_C99_c">memset</span>(&amp;<span class="support support_function support_function_C99 support_function_C99_c">sin</span>, <span class="constant constant_numeric constant_numeric_c">0</span>,<span class="meta meta_function-call meta_function-call_c"><span class="punctuation punctuation_whitespace punctuation_whitespace_function-call punctuation_whitespace_function-call_leading punctuation_whitespace_function-call_leading_c"> </span><span class="support support_function support_function_any-method support_function_any-method_c">sizeof</span>(</span><span class="support support_function support_function_C99 support_function_C99_c">sin</span>));
<span class="punctuation punctuation_whitespace punctuation_whitespace_support punctuation_whitespace_support_function punctuation_whitespace_support_function_leading punctuation_whitespace_support_function_leading_c">        </span><span class="support support_function support_function_C99 support_function_C99_c">sin</span><span class="variable variable_other variable_other_dot-access variable_other_dot-access_c">.sin_len</span> =<span class="meta meta_function-call meta_function-call_c"><span class="punctuation punctuation_whitespace punctuation_whitespace_function-call punctuation_whitespace_function-call_leading punctuation_whitespace_function-call_leading_c"> </span><span class="support support_function support_function_any-method support_function_any-method_c">sizeof</span>(</span><span class="support support_function support_function_C99 support_function_C99_c">sin</span>);
<span class="punctuation punctuation_whitespace punctuation_whitespace_support punctuation_whitespace_support_function punctuation_whitespace_support_function_leading punctuation_whitespace_support_function_leading_c">        </span><span class="support support_function support_function_C99 support_function_C99_c">sin</span><span class="variable variable_other variable_other_dot-access variable_other_dot-access_c">.sin_family</span> = AF_INET;
<span class="punctuation punctuation_whitespace punctuation_whitespace_support punctuation_whitespace_support_function punctuation_whitespace_support_function_leading punctuation_whitespace_support_function_leading_c">        </span><span class="support support_function support_function_C99 support_function_C99_c">sin</span><span class="variable variable_other variable_other_dot-access variable_other_dot-access_c">.sin_port</span> =<span class="meta meta_function-call meta_function-call_c"><span class="punctuation punctuation_whitespace punctuation_whitespace_function-call punctuation_whitespace_function-call_leading punctuation_whitespace_function-call_leading_c"> </span><span class="support support_function support_function_any-method support_function_any-method_c">htons</span>(</span>port); <span class="comment comment_line comment_line_double-slash comment_line_double-slash_c++"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_c">//</span> port we want to connect on
</span><span class="punctuation punctuation_whitespace punctuation_whitespace_support punctuation_whitespace_support_function punctuation_whitespace_support_function_leading punctuation_whitespace_support_function_leading_c">        </span><span class="support support_function support_function_C99 support_function_C99_c">sin</span><span class="variable variable_other variable_other_dot-access variable_other_dot-access_c">.sin_addr.s_addr</span> =<span class="meta meta_function-call meta_function-call_c"><span class="punctuation punctuation_whitespace punctuation_whitespace_function-call punctuation_whitespace_function-call_leading punctuation_whitespace_function-call_leading_c"> </span><span class="support support_function support_function_any-method support_function_any-method_c">inet_addr</span>(</span><span class="meta meta_bracketed meta_bracketed_objc"><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_begin punctuation_section_scope_begin_objc">[</span> ipAddress UTF8String <span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_end punctuation_section_scope_end_objc">]</span></span> );

        <span class="support support_type support_type_cocoa support_type_cocoa_touch">CFDataRef</span> address =<span class="meta meta_function-call meta_function-call_c"><span class="punctuation punctuation_whitespace punctuation_whitespace_function-call punctuation_whitespace_function-call_leading punctuation_whitespace_function-call_leading_c"> </span><span class="support support_function support_function_any-method support_function_any-method_c">CFDataCreate</span>(</span><span class="constant constant_language constant_language_c">NULL</span>,(<span class="storage storage_type storage_type_c">unsigned</span> <span class="storage storage_type storage_type_c">char</span>*)&amp;<span class="support support_function support_function_C99 support_function_C99_c">sin</span>,<span class="keyword keyword_operator keyword_operator_sizeof keyword_operator_sizeof_c">sizeof</span>(<span class="support support_function support_function_C99 support_function_C99_c">sin</span>));

        <span class="support support_type support_type_cocoa support_type_cocoa_touch">CFTimeInterval</span> timeout = seconds ; <span class="comment comment_line comment_line_double-slash comment_line_double-slash_c++"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_c">//</span> how long to wait before returning
</span>
        <span class="support support_type support_type_cocoa support_type_cocoa_touch">CFSocketError</span> e =<span class="meta meta_function-call meta_function-call_c"><span class="punctuation punctuation_whitespace punctuation_whitespace_function-call punctuation_whitespace_function-call_leading punctuation_whitespace_function-call_leading_c"> </span><span class="support support_function support_function_any-method support_function_any-method_c">CFSocketConnectToAddress</span>(</span>socket,address,timeout);
<span class="meta meta_function-call meta_function-call_c"><span class="punctuation punctuation_whitespace punctuation_whitespace_function-call punctuation_whitespace_function-call_leading punctuation_whitespace_function-call_leading_c">        </span><span class="support support_function support_function_any-method support_function_any-method_c">CFSocketInvalidate</span>(</span>socket) ;

<span class="meta meta_function-call meta_function-call_c"><span class="punctuation punctuation_whitespace punctuation_whitespace_function-call punctuation_whitespace_function-call_leading punctuation_whitespace_function-call_leading_c">        </span><span class="support support_function support_function_any-method support_function_any-method_c">CFRelease</span>(</span>address);
<span class="meta meta_function-call meta_function-call_c"><span class="punctuation punctuation_whitespace punctuation_whitespace_function-call punctuation_whitespace_function-call_leading punctuation_whitespace_function-call_leading_c">        </span><span class="support support_function support_function_any-method support_function_any-method_c">CFRelease</span>(</span>socket);

        <span class="keyword keyword_control keyword_control_c">return</span>(e == <span class="constant constant_numeric constant_numeric_c">0</span>) ;

    }</span> <span class="keyword keyword_control keyword_control_exception keyword_control_exception_objc"><span class="punctuation punctuation_definition punctuation_definition_keyword punctuation_definition_keyword_objc">@</span>catch</span><span class="meta meta_initialization meta_initialization_c"> <span class="punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_c">(</span></span><span class="storage storage_type storage_type_id storage_type_id_objc">id </span>SocketException) <span class="meta meta_block meta_block_c">{

       <span class="keyword keyword_control keyword_control_c">return</span>(<span class="constant constant_language constant_language_objc">NO</span>) ;

    }</span> <span class="comment comment_line comment_line_double-slash comment_line_double-slash_c++"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_c">//</span> if //
</span>
}</span></span>
</span></span></span></pre>
<p>Overall, it is a pretty basic iPhone application, but it does have all the fundamental elements of a utility app including integration with the iPhone Settings (<span class="support support_class support_class_cocoa support_class_cocoa_touch">NSUserDefaults</span>) interface.</p>
<h3>Keeping In Control</h3>
<p>If you just want to play and do not want to develop, then <a href="http://theappleblog.com/wp-content/uploads/2008/12/griswoldserver.zip">grab the standalone server app</a> (again, Leopard-only) and e-mail me (bob at rudis dot net) your iPhone UDID (Ad Hoc Helper from the app store can help with this). I have some free ad hoc distribution slots that I&#8217;d be willing to part with.</p>
<p>I plan on updating Griswold Server to add more granular control over X10 modules (and update the iPhone app UI accordingly), include scheduled on/off execution and may add the option to have it rest in the menu bar vs the dock (all of which is feedback from my awesome beta testers).</p>
<p>If you have a Windows or Linux box, or just want to keep up with the development of Griswold, head over to <a href="http://griswoldapp.com/">griswoldapp.com</a> or contact me for more information.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172085+iphone-os-x-diy-take-control-of-your-holiday-displays-with-griswold&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/01/mobile-q4-all-eyes-were-on-android-4g-and-the-rising-tablet-tide/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172085+iphone-os-x-diy-take-control-of-your-holiday-displays-with-griswold&utm_content=hrbrmstr">Mobile Q4: All Eyes Were on Android, 4G and the Rising Tablet&nbsp;Tide</a></li><li><a href="http://pro.gigaom.com/2010/12/report-a-mobile-video-market-overview/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172085+iphone-os-x-diy-take-control-of-your-holiday-displays-with-griswold&utm_content=hrbrmstr">Report: A Mobile Video Market&nbsp;Overview</a></li><li><a href="http://pro.gigaom.com/2010/10/in-q3-the-tablet-and-4g-were-the-big-stories/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172085+iphone-os-x-diy-take-control-of-your-holiday-displays-with-griswold&utm_content=hrbrmstr">In Q3, the Tablet and 4G Were the Big&nbsp;Stories</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172085&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/iphone-os-x-diy-take-control-of-your-holiday-displays-with-griswold/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/house.png" medium="image">
			<media:title type="html">house</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/griswold-server.png" medium="image">
			<media:title type="html">griswold-server</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/serverprefs.png" medium="image">
			<media:title type="html">serverprefs</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/mainscreen.png" medium="image">
			<media:title type="html">mainscreen</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/internalconfigscreen.png" medium="image">
			<media:title type="html">internalconfigscreen</media:title>
		</media:content>
	</item>
		<item>
		<title>Optimize iPhone Photo Retrieval With Apple&#8217;s Image Capture Utility</title>
		<link>http://gigaom.com/apple/optimize-iphone-photo-retrieval-with-apples-image-capture-utility/</link>
		<comments>http://gigaom.com/apple/optimize-iphone-photo-retrieval-with-apples-image-capture-utility/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 19:00:35 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[automator]]></category>
		<category><![CDATA[folder action]]></category>
		<category><![CDATA[image capture]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iphoto]]></category>
		<category><![CDATA[picture]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=12805</guid>
		<description><![CDATA[Despite the iPhone having a less-than-stellar camera, I wind up taking more pictures with it than any other device we own. This becomes a painful reality every time I connect my phone up to my MacBook Pro since I am reminded that I have enabled the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172067&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="imagecaptureicon" src="http://gigapple.files.wordpress.com/2008/12/imagecaptureicon.png?w=128&#038;h=128" alt="" width="128" height="128" class=" alignleft" />Despite the iPhone having a less-than-stellar camera, I wind up taking more pictures with it than any other device we own. This becomes a painful reality every time I connect my phone up to my MacBook Pro since I am reminded that I have enabled the launching of iPhoto whenever there are new pictures to retrieve. More often than not, these quick snaps do not make it to my iPhoto library (due to image quality) but that does not mean I do not want to do some non-mobile processing with them. Enter Apple&#8217;s Image Capture application (which can be found right within your Applications folder).</p>
<p>Connect your iPhone (and quit iPhoto, if it comes up) and fire up Image Capture. You will see that it recognizes your device and is ready to serve.<br />
<span id="more-172067"></span><br />
<img  title="image-capture-main" src="http://gigapple.files.wordpress.com/2008/12/image-capture-main.png?w=604" alt="" class=" alignleft" /></p>
<p>You could just click &#8220;Download All&#8221; to have your images saved to your &#8220;Pictures&#8221; folder, but you can do much more with the application. The first thing you <em>should</em> do is bring up the application Preferences and choose a new default option for what happens when you connect any camera to your system (I suggest choosing &#8220;No application&#8221; as you then have control of what happens when you connect any given image-oriented device).</p>
<p style="text-align: center;"><img  title="image-capture-preferences" src="http://gigapple.files.wordpress.com/2008/12/image-capture-preferences.png?w=604" alt="" class=" alignleft" /></p>
<p>Bringing up the Options panel lets you change the &#8220;delete&#8221; behavior upon import, what information gets stored with the image (in both the image and the Finder) and what happens when Image Capture opens with a device connected.</p>
<p style="text-align: center;"><img  title="image-capture-general-options" src="http://gigapple.files.wordpress.com/2008/12/image-capture-general-options.png?w=604" alt="" class=" alignleft" /></p>
<p style="text-align: center;"><img  title="image-capture-device-info" src="http://gigapple.files.wordpress.com/2008/12/image-capture-device-info.png?w=538&#038;h=521" alt="" width="538" height="521" class=" alignleft" /></p>
<p>When &#8220;Download Some&#8230;&#8221; is selected, you are given the option to process selected images with custom, optional transformations. &#8220;Download All&#8221; does just what it says.</p>
<p><a href="http://gigapple.files.wordpress.com/2008/12/finder-get-info.png"><img  title="finder-get-info" src="http://theappleblog.com/wp-content/uploads/2008/12/finder-get-info-150x150.png" alt="" width="150" height="150" class=" alignleft" /></a> If you elect to store information with the photos, the Finder (and Spotlight database) will be nicely populated, too.</p>
<p>While Image Capture can help streamline the retrieval of digital snaps from your iPhone, if you combine it with some <a href="http://turtlehead.co.uk/macintosh-toys/osx-automator-flickr-upload-action/">interesting</a> <a href="http://www.makeuseof.com/tag/using-folder-actions-in-os-x-to-keep-a-consistent-workflow/">folder</a> <a href="http://www.nzmac.com/features/how-to/using-automator-to-batch-convert-images.html">actions</a>, you may also be able to seriously improve your overall workflow.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172067+optimize-iphone-photo-retrieval-with-apples-image-capture-utility&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/01/mobile-q4-all-eyes-were-on-android-4g-and-the-rising-tablet-tide/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172067+optimize-iphone-photo-retrieval-with-apples-image-capture-utility&utm_content=hrbrmstr">Mobile Q4: All Eyes Were on Android, 4G and the Rising Tablet&nbsp;Tide</a></li><li><a href="http://pro.gigaom.com/2010/12/report-a-mobile-video-market-overview/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172067+optimize-iphone-photo-retrieval-with-apples-image-capture-utility&utm_content=hrbrmstr">Report: A Mobile Video Market&nbsp;Overview</a></li><li><a href="http://pro.gigaom.com/2010/10/in-q3-the-tablet-and-4g-were-the-big-stories/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172067+optimize-iphone-photo-retrieval-with-apples-image-capture-utility&utm_content=hrbrmstr">In Q3, the Tablet and 4G Were the Big&nbsp;Stories</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172067&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/optimize-iphone-photo-retrieval-with-apples-image-capture-utility/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/imagecaptureicon.png" medium="image">
			<media:title type="html">imagecaptureicon</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/image-capture-main.png" medium="image">
			<media:title type="html">image-capture-main</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/image-capture-preferences.png" medium="image">
			<media:title type="html">image-capture-preferences</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/image-capture-general-options.png" medium="image">
			<media:title type="html">image-capture-general-options</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/image-capture-device-info.png" medium="image">
			<media:title type="html">image-capture-device-info</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/finder-get-info-150x150.png" medium="image">
			<media:title type="html">finder-get-info</media:title>
		</media:content>
	</item>
		<item>
		<title>No Excuses: Tracking Your Fitness On OS X</title>
		<link>http://gigaom.com/apple/no-excuses-tracking-your-fitness-on-os-x/</link>
		<comments>http://gigaom.com/apple/no-excuses-tracking-your-fitness-on-os-x/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 16:00:20 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Software Reviews]]></category>
		<category><![CDATA[Blue Coat Systems.]]></category>
		<category><![CDATA[exercise]]></category>
		<category><![CDATA[F5 Networks]]></category>
		<category><![CDATA[fitness]]></category>
		<category><![CDATA[Garmin]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[nike]]></category>
		<category><![CDATA[nikeplus]]></category>
		<category><![CDATA[Packeteer]]></category>
		<category><![CDATA[polar]]></category>
		<category><![CDATA[Riverbed Technologies]]></category>
		<category><![CDATA[training]]></category>
		<category><![CDATA[WAN Optimizaton]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=12217</guid>
		<description><![CDATA[It should be obvious that the blogging elves at The Apple Blog care about the fitness of our readers, especially at this dessert-laden time of year. If you managed to stuff yourself as much as I did at Thanksgiving you may be in need of some [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172041&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It should be obvious that the blogging elves at The Apple Blog <a href="http://gigaom.com/apple/9-iphone-apps-to-keep-you-fit/">care about the fitness</a> of our readers, especially at this dessert-laden time of year. If you managed to stuff yourself as much as I did at Thanksgiving you may be in need of some extra assistance ensuring that the only thing that gets blown away in December is your budget. With that in mind, TAB takes a look at four OS X applications that can help you kick start a fitness program and track almost every detail of your workouts.</p>
<h3>Meet the Contenders</h3>
<p>Since the iPhone apps have some built-in advantages, I chose four programs that work with GPS devices, heart rate monitors or other accessories – such as the <a href="http://www.apple.com/ipod/nike/">Nike + iPod</a> kit – to even the playing field.</p>
<div class="clear"><img  title="gtc-icon" src="http://theappleblog.com/wp-content/uploads/2008/12/gtc-icon.png" alt="" width="96" height="96" class=" alignleft" /><strong><a href="http://www8.garmin.com/products/trainingcenter/">Garmin Training Center</a></strong><br />
Maker: Garmin<br />
Price: Free<br />
Compatibily: OS X 10.4+/Universal<br />
Hardware Support: Garmin GPS</div>
<div class="clear"><img  title="rt-icon" src="http://theappleblog.com/wp-content/uploads/2008/12/rt-icon.png" alt="" width="96" height="96" class=" alignleft" /><strong><a href="http://www.rubitrack.com/">rubiTrack</a></strong><br />
Maker: toolsfactory<br />
Price: $39.00<br />
Compatibily: OS X 10.5+/Universal<br />
Hardware Support: Garmin GPS, Nike+iPod, Amod GPS</div>
<div class="clear"><img  title="ascent-icon" src="http://theappleblog.com/wp-content/uploads/2008/12/ascent-icon.png" alt="" width="96" height="96" class=" alignleft" /><strong><a href="http://www.montebellosoftware.com/index.html">Ascent</a></strong><br />
Maker: Montebello<br />
Price: $40.00<br />
Compatibily: OS X 10.4+/Universal<br />
Hardware Support: Garmin GPS</div>
<div class="clear"><img  title="tr-icoinb" src="http://theappleblog.com/wp-content/uploads/2008/12/tr-icoinb.png" alt="" width="96" height="96" class=" alignleft" /><strong><a href="http://trailrunnerx.com/">TrailRunner</a></strong><br />
Maker: Berbie<br />
Price: Free<br />
Compatibily: OS X 10.5+/Universal<br />
Hardware Support: Garmin GPS, Nike+iPod/Sportband, iPhone/iPod</div>
<p>NOTE: Real world workout data from Garmin and Nike+ devices were used in testing all four applications.<br />
<span id="more-172041"></span></p>
<h3>Garmin: Late to the Gate, Still in the Running</h3>
<p>First up is Garmin&#8217;s flagship OS X offering. Fitness Center for Mac (GTC) is designed to be <em>the</em> way to get data from your <a href="https://buy.garmin.com/shop/shop.do?cID=160&amp;fKeys=FILTER_SERIES_EDGE">Edge</a> or <a href="https://buy.garmin.com/shop/shop.do?cID=142&amp;fKeys=FILTER_SERIES_FORERUNNER">Forerunner</a> onto your Mac, and both device families offer GPS-tracking and optional heart rate monitoring, with the Edge also featuring cadence &amp; power tracking for cyclists. The sampling from these sensors can be imported, reviewed and displayed in tabluar, graphical and cartographical format. GTC does a good job figuring out which activity (cycling or running) you were engaged in when it auto-classifies your imports.</p>
<p><a href="http://theappleblog.com/wp-content/uploads/2008/12/gtc-actiity-overview.png"><img  title="gtc-actiity-overview" src="http://theappleblog.com/wp-content/uploads/2008/12/gtc-actiity-overview.png" alt="" class=" alignleft" /></a></p>
<p>You can customize user profile settings, including heart rate data and speed zones along with gear details and information on other activities, such as hiking, skiing or kayaking.</p>
<p><a href="http://theappleblog.com/wp-content/uploads/2008/12/gtc-user-information1.png"><img  title="gtc-user-information1" src="http://theappleblog.com/wp-content/uploads/2008/12/gtc-user-information1.png" alt="" class=" alignleft" /></a></p>
<p>Workouts can be reviewed by date or type, and you can schedule, group and categorize them via recorded sessions or from various online sources. Any workout you define or find can also be uploaded to <em>most</em> Garmin devices.</p>
<p><a href="http://theappleblog.com/wp-content/uploads/2008/12/gtc-workouts.png"><img  title="gtc-workouts" src="http://theappleblog.com/wp-content/uploads/2008/12/gtc-workouts.png" alt="" class=" alignleft" /></a></p>
<p>If you have full Garmin map data sets, you can use <a href="http://www8.garmin.com/macosx/">other Garmin Mac utilities</a> to get them onto your Mac (which will help GTC route maps look a bit nicer).</p>
<p>GTC will import and export TCX (a <a href="http://developer.garmin.com/schemas/">Garmin-originated</a> XML format describing GPS and &#8220;fitness&#8221; data) files which many programs and web applications can work with, so you are not locked-in to them by any means.</p>
<h3>Striving for Peak Performance with Ascent</h3>
<p>While Garmin may be a bit generic, Ascent definitely has the feel of a more seasoned OS X application.</p>
<p><a href="http://theappleblog.com/wp-content/uploads/2008/12/general-preferences.png"><img  title="general-preferences" src="http://theappleblog.com/wp-content/uploads/2008/12/general-preferences.png" alt="" class=" alignleft" /></a></p>
<p>Most of these fitness-tracking programs provide a similarly paned &#8220;browser&#8221; to access your activities. Ascent kicks up the visual display a bit with map data from either <a href="http://dev.live.com/virtualearth/">VisualEarth</a> or <a href="http://topomaps.usgs.gov/">USGS</a>, both of which have multiple feature display options.</p>
<p><a href="http://theappleblog.com/wp-content/uploads/2008/12/ascent-main.png"><img  title="ascent-main" src="http://theappleblog.com/wp-content/uploads/2008/12/ascent-main.png" alt="" class=" alignleft" /></a></p>
<p>Ascent provides more fields to describe your activities and has an amazing <em>replay</em> mode that will animate your recorded workout, showing key data in a &#8220;HUD&#8221; as the points move along. While it will sync from your GPS device with ease, the Montebello developers also added a wide assortment of import and export options, including reading data from Polar heart rate monitors, full manual entry of activity information and sending data out to Google Earth for a very spiffy fly-by.</p>
<p><a href="http://theappleblog.com/wp-content/uploads/2008/12/export-options.png"><img  title="export-options" src="http://theappleblog.com/wp-content/uploads/2008/12/export-options.png" alt="" width="451" height="456" class=" alignleft" /></a></p>
<p>Unfortunately, while the program provides many ways to view and analyze your workouts, you will not be using it to push data <em>to</em> your GPS.</p>
<p><a href="http://theappleblog.com/wp-content/uploads/2008/12/ascent-activity-chart-detail.png"><img  title="ascent-activity-chart-detail" src="http://theappleblog.com/wp-content/uploads/2008/12/ascent-activity-chart-detail.png" alt="" class=" alignleft" /></a></p>
<h3>TrailRunner Charts Your Path to Fitness</h3>
<p>This once commercial offering is now free and takes a unique approach to tracking your training. As the name indicates, it is geared more for running, but can handle other activities.</p>
<p><a href="http://theappleblog.com/wp-content/uploads/2008/12/tr-import-from-gtc.png"><img  title="tr-import-from-gtc" src="http://theappleblog.com/wp-content/uploads/2008/12/tr-import-from-gtc.png" alt="" class=" alignleft" /></a></p>
<p>If you are truly dedicated to your training program, TrailRunner will be a great digital partner and includes a highly-detailed diary view (that lets you post activities right to <a href="http://homepage.mac.com/hrbrmstr/trailrunner/weblog.html">your blog</a>) and an &#8220;event planner&#8221; (for that upcoming marathon).</p>
<p><a href="http://theappleblog.com/wp-content/uploads/2008/12/trailrunner.png"><img  title="trailrunner" src="http://theappleblog.com/wp-content/uploads/2008/12/trailrunner.png" alt="" class=" alignleft" /></a></p>
<p>TrailRunner also has a playback mode, but the most differentiating feature may be the ability to easily share your routes with other athletes and also find new routes (i.e. escape the rut). It also works with <a href="http://itrailr.googlepages.com/">iTrail</a> (for you iPhone-wielding fitness geeks) and can store routes notes and route &#8220;snapshots&#8221; to your photo-enabled iPod, which is especially helpful if you are racing un-tracked or with a non-GPS-enabled device (such as the Nike+ iPod kit).</p>
<p><img  title="209" src="http://theappleblog.com/wp-content/uploads/2008/12/209.png" alt="" width="344" height="369" class=" alignleft" /></p>
<p>To get the full feel for TrailRunner, you really need to download it and play with it a while. New features keep popping up as you explore the application and it will definitely have you looking at your workouts in a very different way.</p>
<h3>One Step Ahead: rubiTrack Tracks With Style</h3>
<p>Despite having a Leopard-only offering, the talented folks over at toolsfactory managed to make the most modern, Mac-like program of the bunch, which is evident right from program launch.</p>
<p><a href="http://theappleblog.com/wp-content/uploads/2008/12/rt-overview.png"><img  title="rt-overview" src="http://theappleblog.com/wp-content/uploads/2008/12/rt-overview.png" alt="" class=" alignleft" /></a></p>
<p>Map data crisp and the view options are abundant. One feature detail that I considered truly innovative was historical weight tracking, making the workout details very accurate over time.</p>
<p><img  title="rt-athlete-details1" src="http://theappleblog.com/wp-content/uploads/2008/12/rt-athlete-details1.png" alt="" width="342" height="429" class=" alignleft" /></p>
<p>Activities are auto-grouped by category on import and can be manually tweaked. rubiTrack also has &#8220;smart groups&#8221; (think iTunes Smart Playlists) which can auto-classify by any combination of activity details.</p>
<p><a href="http://theappleblog.com/wp-content/uploads/2008/12/rt-activity-details.png"><img  title="rt-activity-details" src="http://theappleblog.com/wp-content/uploads/2008/12/rt-activity-details.png" alt="" class=" alignleft" /></a></p>
<p>While it lets you review past workouts and activities, you will not be able to schedule a workout routine with this application and you will not be creating tracks to bring back to your training devices.</p>
<h3>The Final Analysis</h3>
<p>GTC is the least &#8220;Mac-like&#8221; application out of the four and is not even on equal footing from its PC counterpart. While it is completely functional for basic operations, it is obvious that Garmin wants you to continue to invest in their online offerings and map products to get the most out of your fitness routine. However, if you want to plan new workouts and have seamless integration with your GPS devices, GTC will have a place in your Applications folder.</p>
<p>Ascent was my primary tracking tool prior to rubiTrack (I paid for both programs). I would definitely pay for an upgrade if they keep enhancing both the visual elements and the core feature sets. It is also very geared towards cyclists and I expect enhancements to continue that focus.</p>
<p>TrailRunner is a must have for the avid runner. It <em>does</em> rely on many helper apps (including GTC) to import data. The blogging feature is something I wish more fitness apps thought to include. TrailRunner also has the most diverse maps and is perfect for those who wish to be part of a community of folks interested in fitness.</p>
<p>At the end of a ride, however, rubiTrack is the application that I fire up first. If you are just getting into a fitness routine and want some positive, visual reinforcement this will be a very easy program to get started with and will definitely help motivate you to constantly do better.</p>
<p>Despite all four applications being &#8220;made for Mac&#8221;, <strong>none</strong> of them auto-sync weather details and <strong>none</strong> of the ones with workout scheduling capabilities integrate with iCal.  Even with those missing features, you now have no excuse to shake off that tryptophan haze and shed some of that holiday poundage. If you do receive Garmin or Nike+ gear for the upcoming gift-giving season, definitely give these programs a workout.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172041+no-excuses-tracking-your-fitness-on-os-x&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/01/big-data-arm-and-legal-troubles-transformed-infrastructure-in-q4/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172041+no-excuses-tracking-your-fitness-on-os-x&utm_content=hrbrmstr">Big Data, ARM and Legal Troubles Transformed Infrastructure in&nbsp;Q4</a></li><li><a href="http://pro.gigaom.com/2010/10/facebook-remained-social-medias-chief-in-q3/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172041+no-excuses-tracking-your-fitness-on-os-x&utm_content=hrbrmstr">Facebook Remained Social Media&#8217;s Chief in&nbsp;Q3</a></li><li><a href="http://pro.gigaom.com/2010/10/report-the-rise-of-mobile-health-apps/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172041+no-excuses-tracking-your-fitness-on-os-x&utm_content=hrbrmstr">Report: The Rise of Mobile Health&nbsp;Apps</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172041&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/no-excuses-tracking-your-fitness-on-os-x/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/gtc-icon.png" medium="image">
			<media:title type="html">gtc-icon</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/rt-icon.png" medium="image">
			<media:title type="html">rt-icon</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/ascent-icon.png" medium="image">
			<media:title type="html">ascent-icon</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/tr-icoinb.png" medium="image">
			<media:title type="html">tr-icoinb</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/gtc-actiity-overview.png" medium="image">
			<media:title type="html">gtc-actiity-overview</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/gtc-user-information1.png" medium="image">
			<media:title type="html">gtc-user-information1</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/gtc-workouts.png" medium="image">
			<media:title type="html">gtc-workouts</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/general-preferences.png" medium="image">
			<media:title type="html">general-preferences</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/ascent-main.png" medium="image">
			<media:title type="html">ascent-main</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/export-options.png" medium="image">
			<media:title type="html">export-options</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/ascent-activity-chart-detail.png" medium="image">
			<media:title type="html">ascent-activity-chart-detail</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/tr-import-from-gtc.png" medium="image">
			<media:title type="html">tr-import-from-gtc</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/trailrunner.png" medium="image">
			<media:title type="html">trailrunner</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/209.png" medium="image">
			<media:title type="html">209</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/rt-overview.png" medium="image">
			<media:title type="html">rt-overview</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/rt-athlete-details1.png" medium="image">
			<media:title type="html">rt-athlete-details1</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/12/rt-activity-details.png" medium="image">
			<media:title type="html">rt-activity-details</media:title>
		</media:content>
	</item>
		<item>
		<title>Final Vinyl Makes Sound Routing and Recording Surprisingly Simple</title>
		<link>http://gigaom.com/apple/final-vinyl-makes-sound-routing-and-recording-surprisingly-simple/</link>
		<comments>http://gigaom.com/apple/final-vinyl-makes-sound-routing-and-recording-surprisingly-simple/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 15:00:13 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[Random Access]]></category>
		<category><![CDATA[aiff]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[griffin]]></category>
		<category><![CDATA[imic]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[recording]]></category>
		<category><![CDATA[sound]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=11518</guid>
		<description><![CDATA[Being a big fan of my Griffin radioSHARK I was disappointed when the developers dismissed all plans on cranking out an HD Radio version of the device. Given the extensive source tagging in the digital stream, they could have integrated both recording to iTunes and purchasing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172003&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="fv-icon" src="http://gigapple.files.wordpress.com/2008/11/fv-icon.png?w=128&#038;h=128" alt="" width="128" height="128" class=" alignleft" />Being a big fan of my <a href="http://www.griffintechnology.com/products/radioshark">Griffin radioSHARK</a> I was disappointed when the developers dismissed all plans on cranking out an HD Radio version of the device. Given the extensive source tagging in the digital stream, they could have integrated both recording to iTunes and purchasing from iTunes with little effort.</p>
<p>Still wanting to experience HD Radio as inexpensively as possible, I recently purchased a <a href="http://www.amazon.com/gp/product/B00168Q248?ie=UTF8&amp;tag=rudisdotnet-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B00168Q248">Sony XDR-F1HD HD Radio Tuner</a> and, despite owning every cable known to human-kind, I lacked the RCA-male-to-3.5mm-female cable required to directly connect the tuner to my desktop speakers. Not wanting to trudge down to the family room to hook it up to the stereo for testing, I got out my trusty <a href="http://www.griffintechnology.com/products/imic">Griffin iMic</a> but did not want to crank up anything as complex as Garage Band just to do listen to the radio. While I could have used something like <a href="http://audacity.sourceforge.net/">Audacity</a>, that program is overkill for the task I wanted to perform.<br />
<span id="more-172003"></span><br />
Then, I remembered that Griffin provides a free companion tool for the iMic called <a href="http://www.griffintechnology.com/software/0000/0007/Final_Vinyl_v2.5.1.dmg">Final Vinyl</a> [direct download link to 2MB disk image]. This tiny utility lets you choose any input source (an iMic is not a requirement for using the program as it works with any standard OS X input source) for monitoring, recording and in-stream effects manipulation. I really just wanted to &#8220;play&#8221; my Sony through my Mac just as I would use the radioSHARK, so I fired up Finyl Vinyl, made the appropriate configuration changes and enabled the monitor feature (highlighted in yellow):</p>
<div style="text-align:middle"><img  title="fv-general-prefs" src="http://gigapple.files.wordpress.com/2008/11/fv-general-prefs.png?w=475&#038;h=409" alt="" width="475" height="409" class=" alignleft" /></div>
<div style="text-align:middle"><img  title="fv-main-window" src="http://gigapple.files.wordpress.com/2008/11/fv-main-window.png?w=604" alt="" class=" alignleft" /></div>
<p>Instantly, I was listening to <a href="http://www.kplu.org/">KPLU-FM</a>&#8216;s <a href="http://www.jazz24.org/">Jazz24</a> HD Radio channel with practically no effort. Just to give it a try, I hit &#8220;record&#8221; and captured a <a href="http://theappleblog.com/wp-content/uploads/2008/11/jazz-sample.m4a">very short sample</a> [364 KB MPEG-4 audio file direct download] from the broadcast to show just how clear the signal comes through and how well the application does its job. While it will never be as straightforward as the radioSHARK when it comes to scheduling tuning and recording, Final Vinyl is a great way to solve simple audio routing, monitoring and recording needs.</p>
<p>One could argue that there is no need for either an HD Radio receiver or this handy setup given the plethora of internet radio streams available. While it is true that there are many streams to choose from, the physical radio does not require any extra bandwidth consumption (which is not a trivial consideration given the introduction of enforced bandwidth utilization limits by providers such as Comcast) and the digital radio source has had many fewer artifacts than the online counterparts have had (remember, &#8220;HD&#8221; does not stand for &#8220;high definition&#8221; so there are still imperfections).</p>
<p>If you have an alternate audio tool to suggest for this simple job (preferably one that is scriptable) definitely let me and other TAB readers know by sharing your suggestions in the comments.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172003+final-vinyl-makes-sound-routing-and-recording-surprisingly-simple&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172003+final-vinyl-makes-sound-routing-and-recording-surprisingly-simple&utm_content=hrbrmstr">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172003+final-vinyl-makes-sound-routing-and-recording-surprisingly-simple&utm_content=hrbrmstr">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172003+final-vinyl-makes-sound-routing-and-recording-surprisingly-simple&utm_content=hrbrmstr">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172003&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/final-vinyl-makes-sound-routing-and-recording-surprisingly-simple/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://theappleblog.com/wp-content/uploads/2008/11/jazz-sample.m4a" length="0" type="audio/mpeg" />
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/11/fv-icon.png" medium="image">
			<media:title type="html">fv-icon</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/11/fv-general-prefs.png" medium="image">
			<media:title type="html">fv-general-prefs</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/11/fv-main-window.png" medium="image">
			<media:title type="html">fv-main-window</media:title>
		</media:content>
	</item>
		<item>
		<title>Shields Up! Twelve Security Holes Fixed by New iPhone/iPod touch Firmware</title>
		<link>http://gigaom.com/apple/shields-up-twelve-security-holes-fixed-by-new-iphoneipod-touch-firmware/</link>
		<comments>http://gigaom.com/apple/shields-up-twelve-security-holes-fixed-by-new-iphoneipod-touch-firmware/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 00:00:30 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Interesting]]></category>
		<category><![CDATA[code execution]]></category>
		<category><![CDATA[denial-of-service]]></category>
		<category><![CDATA[DoS]]></category>
		<category><![CDATA[Endeavors Technologies]]></category>
		<category><![CDATA[InstallFree]]></category>
		<category><![CDATA[iokit]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod Touch]]></category>
		<category><![CDATA[Kidaro]]></category>
		<category><![CDATA[mobile safari]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[Thinstall]]></category>
		<category><![CDATA[VMW]]></category>
		<category><![CDATA[VMWare]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=11179</guid>
		<description><![CDATA[Weldon did a phenomenal job covering the visible and functional changes in the iPhone/iPod touch 2.2 firmware release. If you are holding off on the update, or just haven&#8217;t gotten to it yet, you may want to pencil in some time with iTunes as there are [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171975&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://theappleblog.com/author/weldon/">Weldon</a> did a phenomenal job <a href="http://gigaom.com/apple/iphone-22-firmware-released/">covering the visible and functional changes</a> in the iPhone/iPod touch 2.2 firmware release. If you are holding off on the update, or just haven&#8217;t gotten to it yet, you may want to pencil in some time with iTunes as there are a <strong>twelve</strong> security fixes in this firmware release, each of which leaves your device and/or data vulnerable to attack.</p>
<ul class="steps">
<li><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4228">CVE-2008-4228</a> &amp; <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4228">CVE-2008-4229</a> &amp; <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4230">CVE-2008-4230</a> –  <strong>Passcode Lock</strong> – iPhone provides the ability to make an emergency call when locked. Currently, an emergency call may be placed to any number. A person with physical access to an iPhone may take advantage of this feature to place arbitrary calls which are charged to the iPhone owner. This update addresses the issue by restricting emergency calls to a limited set of phone numbers. Also, a person with physical access to the device had the ability (under certain circumstances) to launch applications without the passcode and if an SMS message arrived while the emergency call screen was visible, the entire SMS message would have been displayed, even if the &#8220;Show SMS Preview&#8221; preference was set to &#8220;OFF&#8221;.</li>
<li><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name= CVE-2008-2327">CVE-2008-2327</a> &amp; <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name= CVE-2008-1586">CVE-2008-1586 </a> –  <strong>ImageIO</strong> – Viewing a TIFF image that was crafted to take advantage of poorly coded compression libraries could lead to attackers running any code they choose (i.e. arbitrary code execution) on your system or cause system instability/force a reset (Denial of Serivce/DoS)</li>
<li><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-2321">CVE-2008-2321</a> –  <strong>CoreGraphics</strong> – Very similar to the ImageIO problem, this involves attackers using a specially crafted web site to achieve the same results</li>
<li><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4227">CVE-2008-4227</a> –  <strong>Networking</strong> – Your PPTP VPN connections may not be as strongly encrypted as they should be</li>
<li><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4211">CVE-2008-4211</a> –  <strong>Office Viewer</strong> – If you view Excel files on your device, you are susceptible to arbitrary code execution or DoS attacks</li>
<li><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4231">CVE-2008-4231</a> &amp; <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4232">CVE-2008-4232</a> &amp; <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4233">CVE-2008-4233</a> –  <strong>Safari</strong> – Nasty HTML TABLES (and, when are HTML TABLES not nasty?) and insidious IFRAMEs lead the list of Safari problems, but a particularly tricky bug regarding phone calls you did not deliberately make is now fixed by Apple properly dismissing Safari&#8217;s call approval dialogs when an application is being launched via Safari.</li>
<li><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3644">CVE-2008-3644</a> –  <strong>WebKit</strong> – Even if you were a good web programmer and disabled autocomplete on &#8220;sensitive&#8221; form fields, Mobile Safari may still have saved that field data in the browser page cache. Individuals with physical access to the device could pretty easily gain access to that information.</li>
</ul>
<p>Organizations that allow iPhones to be used for business purposes should do their best to ensure all users are upgraded as soon as possible. Individuals should take note of the reduced security posture prior to the 2.2 firmware and make their own risk-based decisions (but upgrading gets you the cool new Street View, so go ahead and upgrade now!).</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171975+shields-up-twelve-security-holes-fixed-by-new-iphoneipod-touch-firmware&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/02/a-2011-infrastructure-forecast/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171975+shields-up-twelve-security-holes-fixed-by-new-iphoneipod-touch-firmware&utm_content=hrbrmstr">A 2011 Infrastructure&nbsp;Forecast</a></li><li><a href="http://pro.gigaom.com/2011/01/big-data-2011-preview/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171975+shields-up-twelve-security-holes-fixed-by-new-iphoneipod-touch-firmware&utm_content=hrbrmstr">Big Data 2011&nbsp;Preview</a></li><li><a href="http://pro.gigaom.com/2011/01/mobile-q4-all-eyes-were-on-android-4g-and-the-rising-tablet-tide/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171975+shields-up-twelve-security-holes-fixed-by-new-iphoneipod-touch-firmware&utm_content=hrbrmstr">Mobile Q4: All Eyes Were on Android, 4G and the Rising Tablet&nbsp;Tide</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171975&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/shields-up-twelve-security-holes-fixed-by-new-iphoneipod-touch-firmware/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>
	</item>
		<item>
		<title>Upgrades, Darn Upgrades and Statistics</title>
		<link>http://gigaom.com/apple/upgrades-darn-upgrades-and-statistics/</link>
		<comments>http://gigaom.com/apple/upgrades-darn-upgrades-and-statistics/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 00:00:22 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[omni group]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[Tiger]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=10913</guid>
		<description><![CDATA[Hopefully Benjamin Disraeli will posthumously forgive me for the major abuse of his quote (made famous by Mark Twain), but the fine folks over at the Omni Group gave us all a sneak peek into some very interesting data they&#8217;ve been allowed by users to collect [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171960&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="numb3rs" src="http://gigapple.files.wordpress.com/2008/11/numb3rs.png?w=123&#038;h=123" alt="" width="123" height="123" class=" alignleft" /></p>
<p class="excerpt">Hopefully Benjamin Disraeli will posthumously forgive me for the major abuse of his quote (made famous by Mark Twain), but the fine folks over at the <a href="http://www.omnigroup.com/">Omni Group</a> gave us all a <a href="http://update.omnigroup.com/">sneak peek</a> into some very interesting data they&#8217;ve been allowed by users to collect on various details of the operating system their applications run on.</p>
<p>Even though this is a very rough snapshot of the Apple landscape &#8212; OS X users who have at least one installed Omni Group application that has checked for updates and allowed data to be collected &#8212; it does provide some fodder for discussion and analysis.<br />
<span id="more-171960"></span></p>
<h3>Which Cat Rules?</h3>
<p>The Omni folks seem to have an even spread of Tiger and Leopard users. While we do not have hard numbers to go with the data, it would seem that any developer who makes a calculated decision to develop a Leopard-only application needs to realize they are targeting a fraction of those who upgrade or just those who have purchased new systems.</p>
<p>The most reliable and recent official information <a href="http://apple20.blogs.fortune.cnn.com/2008/05/08/140-million-copies-of-vista-sold-how-does-leopard-compare/">I could find</a> (quickly) noted that Apple&#8217;s Leopard update penetration was at 19% by end of March 2008. Since the chart does not distinguish between upgraded systems and newly purchased ones with OS X Leopard pre-installed, it is interesting to see that there is a convergence, which would lead me to believe that we are seeing a slowdown in Leopard migration and an small, steady increase in new systems with Leopard.</p>
<p><a href="http://gigapple.files.wordpress.com/2008/11/os-major.png"><img  title="os-major" src="http://gigapple.files.wordpress.com/2008/11/os-major.png?w=604" alt="" class=" alignleft" /></a></p>
<p>This next chart was very encouraging (as I tend to care more about security than anything else) since it shows that Mac users are pretty good at updating their systems within a small delta of minor versions being published by Apple (at least when it comes to Leopard).</p>
<p><a href="http://gigapple.files.wordpress.com/2008/11/regular-updates.png"><img  title="regular-updates" src="http://gigapple.files.wordpress.com/2008/11/regular-updates.png?w=604" alt="" class=" alignleft" /></a></p>
<h3>What&#8217;s Inside?</h3>
<p>If there is any indication of whether the Omni data is more skewed to a certain part of the Mac user-base, it was this next chart. I am not ready to believe that 50% or more of all Macs are now Intel-based, however Apple has had great sales data to report quarter-after-quarter.  Even if we take the 50% at face value, I think it shows that the Universal Binary is not going away any time soon and that makers of Intel-only software have to fully understand their market or have legitimate constraints for such a decision (e.g. VMware or Parallels). It also stresses the need for developers to test their creations on as diverse of a platform spread as possible.</p>
<p><a href="http://gigapple.files.wordpress.com/2008/11/cpu.png"><img  title="cpu" src="http://gigapple.files.wordpress.com/2008/11/cpu.png?w=604" alt="" class=" alignleft" /></a></p>
<p>I was surprised to learn that the majority of users in this subset of Omni customers also works with only one display and this makes me wonder if the data takes into account the built-in display on Apple&#8217;s mobile systems when collecting the statistics.</p>
<h3>There Has To Be A Better Way</h3>
<p>Atomic Bird, makers of (among other utilities) <a href="http://www.atomicbird.com/macaroni">Macaroni</a> &#8211; a handy system maintenance utility &#8212; has also published some other <a href="http://www.atomicbird.com/sparkle-stats">statistics</a> compiled from their use of the data collected via the <a href="http://sparkle.andymatuschak.org/">Sparkle</a> auto-update framework. There is some correlation and some divergence in the data as their information shows a clear migration from Tiger to Leopard. It may be that their user-base is just more likely to have updated, especially since they are likely to care about things like that given the types of products Atomic Bird makes.</p>
<p>Because both examples are skewed to a particular software vendor, it would be <em>very</em> interesting to see more aggregated statistics from Sparkle or even the new <a href="http://gigaom.com/apple/googles-new-update-engine-shifts-into-high-gear/">Google Update Engine</a> (once use of it takes off in the OS X developer community). Either project could allow for application-specific information to be stripped and system/component information to be forwarded to a central collector. Either service could then give some information away for free and possibly monetize their service by providing more thorough data to developers who want to make serious decisions as to how to proceed with development choices.</p>
<p>There would definitely be security and privacy concerns with an aggregated service, but with proper code review/auditing it should be easy to verifiably allay consumer and developer fears. Ultimately, the availability of such information would mean the creation of better software and be a significant help to many independent Apple developers.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171960+upgrades-darn-upgrades-and-statistics&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171960+upgrades-darn-upgrades-and-statistics&utm_content=hrbrmstr">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171960+upgrades-darn-upgrades-and-statistics&utm_content=hrbrmstr">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171960+upgrades-darn-upgrades-and-statistics&utm_content=hrbrmstr">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171960&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/upgrades-darn-upgrades-and-statistics/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/11/numb3rs.png" medium="image">
			<media:title type="html">numb3rs</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/11/os-major.png" medium="image">
			<media:title type="html">os-major</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/11/regular-updates.png" medium="image">
			<media:title type="html">regular-updates</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/11/cpu.png" medium="image">
			<media:title type="html">cpu</media:title>
		</media:content>
	</item>
		<item>
		<title>Apple Unleashes A &#8220;Perfect Storm&#8221; Of Updates</title>
		<link>http://gigaom.com/apple/apple-unleashes-a-perfect-storm-of-updates/</link>
		<comments>http://gigaom.com/apple/apple-unleashes-a-perfect-storm-of-updates/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 21:00:51 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[Apple TV]]></category>
		<category><![CDATA[ichat]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[QuickTime]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[Software Update]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=11097</guid>
		<description><![CDATA[Apple TV 2.3 was not enough. They could not stop at iPhone OS 2.2. Apple had to introduce the perfect storm of updates to impact users of all their systems and devices by unleashing Quicktime H.264 Compatibility Update (now at version 7.5.5) and iTunes 8.0.2 (plus [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171973&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="software-update" src="http://gigapple.files.wordpress.com/2008/11/software-update.png?w=128&#038;h=128" alt="" width="128" height="128" class=" alignleft" /><a href="http://gigaom.com/apple/apple-tv-23-update-adds-refinements-kills-boxee/">Apple TV 2.3</a> was not enough. They could not stop at <a href="http://gigaom.com/apple/iphone-22-firmware-released/">iPhone OS 2.2</a>. Apple had to introduce the perfect storm of updates to impact users of all their systems and devices by unleashing Quicktime H.264 Compatibility Update (now at version 7.5.5) and iTunes 8.0.2 (plus the required download of the new iPhone SDK to match the 2.2 OS release).</p>
<p>While the former only &#8220;improves QuickTime compatibility with iChat,&#8221; the iTunes update &#8220;improves stability and performance&#8221; and:</p>
<ul>
<li>addresses a quality issue creating MP3s on some computers</li>
<li>fixes a connectivity issue with the iTunes Store when using some Internet proxies with Mac OS X</li>
<li>improves accessibility with VoiceOver</li>
</ul>
<p>The H.264 update will require a restart and I strongly suggest performing all iPhone/iPod Touch updates <em>before</em> upgrading iTunes (always reduce the number of potential things that can go wrong). Both installation packages are available via Software Update and should be available in the download section of <a href="http://support.apple.com/">Apple&#8217;s support site</a> later today. The iTunes installation package is <a href="http://www.apple.com/itunes/download/">available at the usual download location</a>.</p>
<p>The most impressive part of all these updates is how well the Apple file servers have held up under the load and how much their QA processes have improved. The iPhone update downloaded very quickly and the entire backup/update procedures went very smoothly. iTunes did not clobber my libraries and I had no issues with the Apple TV 2.3 update (yes, I was willing to give up Boxee for a peek at the new &#8220;official&#8221; features). The SDK download went faster than any other one I have attempted to grab and install, and it successfully compiled and installed one of my in-development apps without incident.</p>
<p>Let&#8217;s hope Apple manages to make this the &#8220;new normal&#8221; for all their updates.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171973+apple-unleashes-a-perfect-storm-of-updates&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2010/04/how-startups-can-cash-in-on-the-ipads-weaknesses/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171973+apple-unleashes-a-perfect-storm-of-updates&utm_content=hrbrmstr">How Startups Can Cash In On the iPad&#8217;s&nbsp;Weaknesses</a></li><li><a href="http://pro.gigaom.com/2011/01/mobile-q4-all-eyes-were-on-android-4g-and-the-rising-tablet-tide/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171973+apple-unleashes-a-perfect-storm-of-updates&utm_content=hrbrmstr">Mobile Q4: All Eyes Were on Android, 4G and the Rising Tablet&nbsp;Tide</a></li><li><a href="http://pro.gigaom.com/2010/12/report-a-mobile-video-market-overview/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171973+apple-unleashes-a-perfect-storm-of-updates&utm_content=hrbrmstr">Report: A Mobile Video Market&nbsp;Overview</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171973&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/apple-unleashes-a-perfect-storm-of-updates/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/11/software-update.png" medium="image">
			<media:title type="html">software-update</media:title>
		</media:content>
	</item>
		<item>
		<title>Poladroid Adds 1940&#8242;s Flare to Your Modern Snaps</title>
		<link>http://gigaom.com/apple/poladroid-adds-1940s-flare-to-your-modern-snaps/</link>
		<comments>http://gigaom.com/apple/poladroid-adds-1940s-flare-to-your-modern-snaps/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 18:00:17 +0000</pubDate>
		<dc:creator>Bob Rudis</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Software Reviews]]></category>
		<category><![CDATA[Startups]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[holidays]]></category>
		<category><![CDATA[photo editing]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[poladroid]]></category>
		<category><![CDATA[polaroid]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=10295</guid>
		<description><![CDATA[Macs are definitely not all-work and no-play machines, and this fact is made even more evident via a nifty little application called Poladroid. With holidays coming up, nostalgia will most likely be at an all-time high and Poladroid helps you inject some into your modern pictures [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171928&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://theappleblog.com/wp-content/uploads/2008/11/poladroid1.png" alt="" title="poladroid1" width="128" height="128"  class=" alignleft" />
<p class="excerpt">Macs are definitely not all-work and no-play machines, and this fact is made even more evident via a nifty little application called <a href="http://www.poladroid.net/">Poladroid</a>. With holidays coming up, nostalgia will most likely be at an all-time high and Poladroid helps you inject some into your modern pictures in a very slick way.</p>
<p>Not content to just provide a Photoshop (or PhotoBooth) filter, the makers of Poladroid came up with a way to electronically &#8220;develop&#8221; your photos into Polaroid-like snaps, complete with the ability to shake the film while you wait!</p>
<p>Simply drag an existing photo onto the application, sit back and watch the results appear &ndash; slowly &ndash; right before your eyes. The process is done when the red mark appears and you&#8217;ll find a full-size JPEG, complete with oversized white border, in your &#8220;Pictures&#8221; folder ready to add to your online or in-print collection. You can save a copy of the photo during any stage in the &#8220;developing&#8221; process by right-clicking on the film and choosing &#8220;I want a sample now&#8221;. But there is one catch&#8230;you only get to process ten photos per application launch as that was the limitation in the original Polaroid film cartridges.</p>
<p><img src="http://theappleblog.com/wp-content/uploads/2008/11/process.png" alt="" title="process" width="340" height="301"  class=" alignleft" /></p>
<p>I have made the full size <a href="http://theappleblog.com/wp-content/uploads/2008/11/p1030449.jpg">before</a> and <a href="http://theappleblog.com/wp-content/uploads/2008/11/p1030449-pola02.jpg">after</a> images available, but the actual source photo was much larger. Poladroid auto-crops the images, so make sure you are working with what you want your end result to be. For those that make holiday DVDs through iMovie, you could save a photo at various points during the developing process to make for a very nice transition element or just use the resultant image to mark special moments on a timeline.</p>
<p>If you are inclined to share outside your normal circles, Poladroid has its own <a href="http://www.flickr.com/groups/poladroid/">Flickr group</a> and encourages you to add your own &#8220;new nostalgia&#8221; to the mix. If you are more of a DIY-type person, right click on the Poladroid application itself, &#8220;Show Package Contents&#8221;, and drill down into &#8220;Contents/MacOS/stuff&#8221; to find a Polaroid-style frame you can use in your own creations.</p>
<p>Poladroid is free, and available for <a href="http://www.poladroid.net/index.php?do=download">download</a> and is a great example of the fun one can have with <a href="http://www.realsoftware.com/products/realbasic/index.php">REALBasic</a>.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171928+poladroid-adds-1940s-flare-to-your-modern-snaps&utm_content=hrbrmstr">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171928+poladroid-adds-1940s-flare-to-your-modern-snaps&utm_content=hrbrmstr">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171928+poladroid-adds-1940s-flare-to-your-modern-snaps&utm_content=hrbrmstr">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171928+poladroid-adds-1940s-flare-to-your-modern-snaps&utm_content=hrbrmstr">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171928&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/poladroid-adds-1940s-flare-to-your-modern-snaps/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a08d08f6b541441fccf36bc6392a0784?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">hrbrmstr</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/11/poladroid1.png" medium="image">
			<media:title type="html">poladroid1</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/11/process.png" medium="image">
			<media:title type="html">process</media:title>
		</media:content>
	</item>
	</channel>
</rss>
