<?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/"
	>

<channel>
	<title>minding the gaps &#187; Technology</title>
	<atom:link href="http://www.mindingthegaps.com/blog/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mindingthegaps.com/blog</link>
	<description>The discovery, acceptance &#38; management of life&#039;s gaps</description>
	<lastBuildDate>Sun, 01 Jan 2012 02:07:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>A Dance with ThunderBolt – Update 2</title>
		<link>http://www.mindingthegaps.com/blog/2011/12/31/a-dance-with-thunderbolt-%e2%80%93-update-2/</link>
		<comments>http://www.mindingthegaps.com/blog/2011/12/31/a-dance-with-thunderbolt-%e2%80%93-update-2/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 01:59:11 +0000</pubDate>
		<dc:creator>Russ Leseberg</dc:creator>
				<category><![CDATA[automation]]></category>
		<category><![CDATA[gaps]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Hard Drive]]></category>
		<category><![CDATA[LaCie]]></category>
		<category><![CDATA[Thunderbolt]]></category>

		<guid isPermaLink="false">http://www.mindingthegaps.com/blog/?p=3451</guid>
		<description><![CDATA[At the stroke of midnight tonight, I will have completed 3 full months of testing of a real-time web tracking solution that depends heavily on ThunderBolt technology. Though I continue to be plagued with drive issues, a single drive has been fast enough to deal with the current read/write requirements.]]></description>
			<content:encoded><![CDATA[<p>At the stroke of midnight tonight, I will have completed 3 full months of testing of a real-time web tracking solution that depends heavily on ThunderBolt technology. Though I continue to be plagued with drive issues, a single drive has been fast enough to deal with the current read/write requirements. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindingthegaps.com/blog/2011/12/31/a-dance-with-thunderbolt-%e2%80%93-update-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Dance with ThunderBolt &#8211; Update</title>
		<link>http://www.mindingthegaps.com/blog/2011/11/30/a-dance-with-thunderbolt-update/</link>
		<comments>http://www.mindingthegaps.com/blog/2011/11/30/a-dance-with-thunderbolt-update/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 04:47:15 +0000</pubDate>
		<dc:creator>Russ Leseberg</dc:creator>
				<category><![CDATA[automation]]></category>
		<category><![CDATA[gaps]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Hard Drive]]></category>
		<category><![CDATA[LaCie]]></category>
		<category><![CDATA[Thunderbolt]]></category>

		<guid isPermaLink="false">http://www.mindingthegaps.com/blog/?p=3438</guid>
		<description><![CDATA[Initial testing of the LaCie ThunderBolt drives on a MacMini Server looked pretty good&#8230; That is after I returned the fist MacMini Server that had a dead Thunderbolt port. More in the next day or so&#8230;.]]></description>
			<content:encoded><![CDATA[<p>Initial testing of the LaCie ThunderBolt drives on a MacMini Server looked pretty good&#8230; That is after I returned the fist MacMini Server that had a dead Thunderbolt port. More in the next day or so&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindingthegaps.com/blog/2011/11/30/a-dance-with-thunderbolt-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Dance with ThunderBolt</title>
		<link>http://www.mindingthegaps.com/blog/2011/10/31/a-dance-with-thunderbolt/</link>
		<comments>http://www.mindingthegaps.com/blog/2011/10/31/a-dance-with-thunderbolt/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 01:59:05 +0000</pubDate>
		<dc:creator>Russ Leseberg</dc:creator>
				<category><![CDATA[automation]]></category>
		<category><![CDATA[gaps]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Hard Drive]]></category>
		<category><![CDATA[LaCie]]></category>
		<category><![CDATA[Thunderbolt]]></category>

		<guid isPermaLink="false">http://www.mindingthegaps.com/blog/?p=3411</guid>
		<description><![CDATA[I began testing Lacie&#8217;s Big Little Disk ThunderBolt drives this last week. Lacie makes some pretty big claims for these little guys and I am determined to find out if they measure up. I have several coding projects in the hopper that will definitely put them to the test. More soon.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mindingthegaps.com/blog/wp-content/uploads/2011/10/LBD-ThunderBolt-Disk.png"><img src="http://www.mindingthegaps.com/blog/wp-content/uploads/2011/10/LBD-ThunderBolt-Disk-150x150.png" alt="Lacie Little Big Disk - ThunderBolt" title="LBD ThunderBolt Disk" width="150" height="150" class="alignleft size-thumbnail wp-image-3412" /></a>I began testing <a href="http://www.lacie.com/us/products/product.htm?id=10549">Lacie&#8217;s Big Little Disk ThunderBolt</a> drives this last week. Lacie makes some pretty big claims for these little guys and I am determined to find out if they measure up. I have several coding projects in the hopper that will definitely put them to the test. <strong>More soon</strong>.<a href="http://www.mindingthegaps.com/blog/wp-content/uploads/2011/10/LBD-ThunderBolt-Performance-e1320112573871.png"><img src="http://www.mindingthegaps.com/blog/wp-content/uploads/2011/10/LBD-ThunderBolt-Performance-e1320112573871.png" alt="Lacie Little Big Disk - ThunderBolt - Performance Chart" title="LBD ThunderBolt Performance" width="523" height="249" class="aligncenter size-full wp-image-3413" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindingthegaps.com/blog/2011/10/31/a-dance-with-thunderbolt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPirate &#8211; The Bucs Go iPad</title>
		<link>http://www.mindingthegaps.com/blog/2011/08/31/ipirate-the-bucs-go-ipad/</link>
		<comments>http://www.mindingthegaps.com/blog/2011/08/31/ipirate-the-bucs-go-ipad/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 21:58:14 +0000</pubDate>
		<dc:creator>Russ Leseberg</dc:creator>
				<category><![CDATA[gaps]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Teams]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Bucs]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[playbook]]></category>
		<category><![CDATA[Tampa Bay Buccaneers]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[use case]]></category>

		<guid isPermaLink="false">http://www.mindingthegaps.com/blog/?p=3370</guid>
		<description><![CDATA[A month before the launch of Apple&#8217;s original iPad, I predicted that sports teams would replace their playbooks with the tablet computer, see Countdown to iPad – Playbook (Use Case 18). Recently the Tampa Bay Buccaneers bought iPads for their players to do just that, see Tampa Bay Buccaneers buy each player an iPad to [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.mindingthegaps.com/blog/wp-content/uploads/2010/02/coach-150x150.jpg" alt="" title="coach" width="150" height="150" class="alignleft size-thumbnail wp-image-1032" /></p>
<p>A month before the <a href="http://news.cnet.com/8301-13579_3-20001601-37.html">launch of Apple&#8217;s original iPad</a>, I predicted that sports teams would replace their playbooks with the tablet computer, see <a href="http://www.mindingthegaps.com/blog/2010/03/04/countdown-to-ipad-–-playbook-use-case-18/?preview=true&#038;preview_id=1034&#038;preview_nonce=2a417102de">Countdown to iPad – Playbook</a> (Use Case 18). </p>
<p>Recently the Tampa Bay Buccaneers bought iPads for their players to do just that, see <a href="http://www.tampabay.com/sports/football/bucs/article1187879.ece">Tampa Bay Buccaneers buy each player an iPad to hold playbook, videos</a>.</p>
<p>As further predicted, the Buccaneer coaches and players not only watch plays on the iPads, but if the devices are ever lost, &#8220;You&#8217;ve got a way to wipe (everything) off with the push of a button,&#8221; according to Tampa Bay Bucs Coach, Raheem Morris. ~ quote from <a href="http://www.tampabay.com/">tampabay.com</a> article. </p>
<p><strong>iPad:</strong> Team Player</p>
<hr />In the <strong>Countdown to iPad Series</strong> (early 2010), I presented possible use cases for the amazing device that had yet to be released into the wild. Now that iPads have been with us for more than a year, it&#8217;s interesting to see just how many predictions have come true.</p>
<hr />
<p>iPad &#8211; Copyright © 2010 Apple Inc. (<a href="http://www.apple.com">www.apple.com</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindingthegaps.com/blog/2011/08/31/ipirate-the-bucs-go-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Applescript &amp; Python To Set Title Case (AppleScrunix)</title>
		<link>http://www.mindingthegaps.com/blog/2011/06/30/using-applescript-python-to-set-title-case-applescrunix/</link>
		<comments>http://www.mindingthegaps.com/blog/2011/06/30/using-applescript-python-to-set-title-case-applescrunix/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 13:02:16 +0000</pubDate>
		<dc:creator>Russ Leseberg</dc:creator>
				<category><![CDATA[automation]]></category>
		<category><![CDATA[gaps]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[applescrunix]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[lowercase]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[title case]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[uppercase]]></category>

		<guid isPermaLink="false">http://www.mindingthegaps.com/blog/?p=3214</guid>
		<description><![CDATA[One way in which Apple has turned the Mac into the most powerful scripting/automation platform on the planet has been to provide a litany of scriptable languages as part of the standard install. Just some of the languages you will find in Mac OS X are JavaScript, Ruby, Python, and of course AppleScript. I refer [...]]]></description>
			<content:encoded><![CDATA[<p>One way in which Apple has turned the <strong>Mac</strong> into <strong>the most powerful scripting/automation platform on the planet</strong> has been to provide a litany of scriptable languages as part of the standard install. Just some of the languages you will find in <strong>Mac OS X</strong> are <strong>JavaScript</strong>, <strong>Ruby</strong>, <strong>Python</strong>, and of course <strong>AppleScript</strong>. I refer to the <strong>mashing</strong> all these languages <strong>together as AppleScrunix</strong>.</p>
<p>Each of the languages has strengths and weaknesses. By bringing them all together on a single platform, and making it easy for them to be used together, <strong>Apple has put an amazing amount of automation power in our hands</strong>.</p>
<p>As shown in previous posts <strong>AppleScrunix allows me to work primarily in AppleScript and draw from other languages</strong> when my scripting language of choice comes up a bit short.</p>
<p>I often run across the need to do &#8216;simple&#8217; title case conversion. &#8216;Simple&#8217; meaning every word in the title has its first letter capitalized and all remaining letters are lowercase. Though this is possible <strong>using only standard AppleScript</strong>, the project quickly <strong>becomes complicated</strong> and ends up <strong>running slower than it needs to</strong>.</p>
<p>If you are interested in solving this problem just using AppleScript, you can get much of the code you need from my previous post, <a href="http://www.mindingthegaps.com/blog/2011/05/26/applescript-converting-uppercase-lowercase-applescrunix-style/">Applescript – Converting Uppercase &amp; Lowercase (AppleScrunix Style)</a>.</p>
<p>Or you can do it using <strong>AppleScrunix and just 2 lines of code</strong>. I have messed up the title ahead of time to make it more interesting&#8230; <strong>thIs is thE stORY of a GIRL</strong> becomes <strong>This Is The Story Of A Girl</strong>.</p>
<p>Begin Script&#8230;<br />
<code><!-- Applescript --></p>
<div id="Applescript">
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="font-weight: bold; color: #000000;">set</span><span> </span><span style="color: #4f7f00;">myTitle</span><span> </span><span style="font-weight: bold; color: #000000;">to</span><span> </span><span style="color: #000000&quot;;">"thIs is thE stORY of a GIRL"</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="font-weight: bold; color: #0015a0;">do shell script</span><span> </span><span style="color: #000000&quot;;">"python -c \"print " &amp;</span><span> </span><span style="color: #6b04c3;">quoted form</span><span> </span><span style="font-weight: bold; color: #000000;">of</span><span> </span><span style="color: #000000&quot;;">(</span><span style="color: #4f7f00;">myTitle</span><span style="color: #000000&quot;;">) &amp; ".title()\""</span></p>
</div>
<p><!-- Applescript end --></code><br />
&#8230;End Script</p>
<p>Result: &#8220;This Is The Story Of A Girl&#8221;</p>
<hr />
<strong>AppleScript / AppleScrunix Examples</strong> &#8211; using the do shell script command in AppleScript.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindingthegaps.com/blog/2011/06/30/using-applescript-python-to-set-title-case-applescrunix/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Applescript &#8211; Converting Uppercase &amp; Lowercase (AppleScrunix Style)</title>
		<link>http://www.mindingthegaps.com/blog/2011/05/26/applescript-converting-uppercase-lowercase-applescrunix-style/</link>
		<comments>http://www.mindingthegaps.com/blog/2011/05/26/applescript-converting-uppercase-lowercase-applescrunix-style/#comments</comments>
		<pubDate>Fri, 27 May 2011 00:23:44 +0000</pubDate>
		<dc:creator>Russ Leseberg</dc:creator>
				<category><![CDATA[automation]]></category>
		<category><![CDATA[gaps]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[applescrunix]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[lowercase]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[sort]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[uppercase]]></category>

		<guid isPermaLink="false">http://www.mindingthegaps.com/blog/?p=3110</guid>
		<description><![CDATA[As there are no built-in routines for changing the case of characters in AppleScript, the coder is required to add their own handlers. The following script (See credits below) shows one way to use AppleScript to change the names of files in a folder from lowercase to uppercase &#038; vise-versa. Begin Script&#8230; tell application "Finder" [...]]]></description>
			<content:encoded><![CDATA[<p>As there are no built-in routines for changing the case of characters in <strong>AppleScript</strong>, the coder is required to add their own handlers. The following script (See credits below) shows one way to use <strong>AppleScript</strong> to change the names of files in a folder from lowercase to uppercase &#038; vise-versa.</p>
<p>Begin Script&#8230;<br />
<code><!-- Applescript --></p>
<div id="Applescript">
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="font-weight:bold;color:#000000">tell</span> <span style="color:#000000"> </span> <span style="color:#0000FF">application</span> <span style="color:#000000"> "Finder" </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">source_folder</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#0015A0">choose folder</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="font-weight:bold;color:#000000">tell</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">me</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#0000FF">activate</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="font-weight:bold;color:#0015A0">display dialog</span> <span style="color:#000000"> "Change case to:" </span> <span style="color:#0015A0">buttons</span> <span style="color:#000000"> {"Cancel", "UPPER", "lower"}<br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">button_pressed</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4314A0">button returned</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">of</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#6B04C3">result</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="font-weight:bold;color:#000000">tell</span> <span style="color:#000000"> </span> <span style="color:#0000FF">application</span> <span style="color:#000000"> "Finder"<br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 20px;"><span style="color:#000000">	</span> <span style="font-weight:bold;color:#000000">repeat</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">with</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">this_item</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">in</span> <span style="color:#000000"> </span> <span style="color:#6B04C3">entire contents</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">of</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">source_folder</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 40px;"><span style="color:#000000">		</span> <span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">current_name</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#6B04C3">name</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">of</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">this_item</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">as</span> <span style="color:#000000"> </span> <span style="color:#0000FF">text</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 40px;"><span style="color:#000000">		</span> <span style="font-weight:bold;color:#000000">if</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">button_pressed</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">is</span> <span style="color:#000000"> "lower" </span> <span style="font-weight:bold;color:#000000">then</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 60px;"><span style="color:#000000">			</span> <span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#6B04C3">name</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">of</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">this_item</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">my</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">change_case</span> <span style="color:#000000">(</span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">current_name</span> <span style="color:#000000">, "lower")<br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 40px;"><span style="color:#000000">		</span> <span style="font-weight:bold;color:#000000">else</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 60px;"><span style="color:#000000">			</span> <span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#6B04C3">name</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">of</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">this_item</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">my</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">change_case</span> <span style="color:#000000">(</span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">current_name</span> <span style="color:#000000">, "upper")<br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 40px;"><span style="color:#000000">		</span> <span style="font-weight:bold;color:#000000">end</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">if</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 20px;"><span style="color:#000000">	</span> <span style="font-weight:bold;color:#000000">end</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">repeat</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="font-weight:bold;color:#000000">end</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">tell</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="font-weight:bold;color:#0015A0">display dialog</span> <span style="color:#000000"> "Process complete"<br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="color:#000000"><br />
</span> </p>
<p>-- AppleScript 'change_case' handler</p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="font-weight:bold;color:#000000">on</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">change_case</span> <span style="color:#000000">(</span> <span style="color:#4F7F00">this_text</span> <span style="color:#000000">, </span> <span style="color:#4F7F00">this_case</span> <span style="color:#000000">)<br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 20px;"><span style="color:#000000">	</span> <span style="font-weight:bold;color:#000000">if</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">this_case</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">is</span> <span style="color:#000000"> "lower" </span> <span style="font-weight:bold;color:#000000">then</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 40px;"><span style="color:#000000">		</span> <span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">comparison_string</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> "ABCDEFGHIJKLMNOPQRSTUVWXYZ"<br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 40px;"><span style="color:#000000">		</span> <span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">source_string</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> "abcdefghijklmnopqrstuvwxyz"<br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 20px;"><span style="color:#000000">	</span> <span style="font-weight:bold;color:#000000">else</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 40px;"><span style="color:#000000">		</span> <span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">comparison_string</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> "abcdefghijklmnopqrstuvwxyz"<br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 40px;"><span style="color:#000000">		</span> <span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">source_string</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> "ABCDEFGHIJKLMNOPQRSTUVWXYZ"<br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 20px;"><span style="color:#000000">	</span> <span style="font-weight:bold;color:#000000">end</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">if</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 20px;"><span style="color:#000000">	</span> <span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">new_text</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> ""<br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 20px;"><span style="color:#000000">	</span> <span style="font-weight:bold;color:#000000">repeat</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">with</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">thisChar</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">in</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">this_text</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 40px;"><span style="color:#000000">		</span> <span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">x</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#0015A0">offset</span> <span style="color:#000000"> </span> <span style="color:#0015A0">of</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">thisChar</span> <span style="color:#000000"> </span> <span style="color:#0015A0">in</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">comparison_string</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 40px;"><span style="color:#000000">		</span> <span style="font-weight:bold;color:#000000">if</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">x</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">is</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">not</span> <span style="color:#000000"> 0 </span> <span style="font-weight:bold;color:#000000">then</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 60px;"><span style="color:#000000">			</span> <span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">new_text</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> (</span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">new_text</span> <span style="color:#000000"> &#038; </span> <span style="color:#0000FF">character</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">x</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">of</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">source_string</span> <span style="color:#000000">) </span> <span style="font-weight:bold;color:#000000">as</span> <span style="color:#000000"> </span> <span style="color:#0000FF">string</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 40px;"><span style="color:#000000">		</span> <span style="font-weight:bold;color:#000000">else</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 60px;"><span style="color:#000000">			</span> <span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">new_text</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> (</span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">new_text</span> <span style="color:#000000"> &#038; </span> <span style="color:#4F7F00">thisChar</span> <span style="color:#000000">) </span> <span style="font-weight:bold;color:#000000">as</span> <span style="color:#000000"> </span> <span style="color:#0000FF">string</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 40px;"><span style="color:#000000">		</span> <span style="font-weight:bold;color:#000000">end</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">if</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 20px;"><span style="color:#000000">	</span> <span style="font-weight:bold;color:#000000">end</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">repeat</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 20px;"><span style="color:#000000">	</span> <span style="font-weight:bold;color:#000000">return</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">new_text</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="font-weight:bold;color:#000000">end</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">change_case</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"></div>
<p><!-- Applescript end --></code><br />
&#8230;End Script</p>
<p>The following handler &#8216;change_case&#8217; was rewritten using <strong>AppleScrunix</strong>. Not only is there less code, but the script runs faster. Replace the <strong>AppleScript</strong> version of the handler in the above script with the unix based handler below.</p>
<p>Begin Handler&#8230;<br />
<code><!-- Applescript --></p>
<div id="Applescript">
-- AppleScrunix 'change_case' handler</p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="font-weight:bold;color:#000000">on</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">change_case</span> <span style="color:#000000">(</span> <span style="color:#4F7F00">this_text</span> <span style="color:#000000">, </span> <span style="color:#4F7F00">this_case</span> <span style="color:#000000">)<br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 20px;"><span style="color:#000000">	</span> <span style="font-weight:bold;color:#000000">if</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">this_case</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">is</span> <span style="color:#000000"> "lower" </span> <span style="font-weight:bold;color:#000000">then</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 40px;"><span style="color:#000000">		</span> <span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">new_text</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#0015A0">do shell script</span> <span style="color:#000000"> "echo " &#038; </span> <span style="color:#6B04C3">quoted form</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">of</span> <span style="color:#000000"> (</span> <span style="color:#4F7F00">this_text</span> <span style="color:#000000">) &#038; " | tr A-Z a-z"<br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 20px;"><span style="color:#000000">	</span> <span style="font-weight:bold;color:#000000">else</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 40px;"><span style="color:#000000">		</span> <span style="font-weight:bold;color:#000000">set</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">new_text</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">to</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#0015A0">do shell script</span> <span style="color:#000000"> "echo " &#038; </span> <span style="color:#6B04C3">quoted form</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">of</span> <span style="color:#000000"> (</span> <span style="color:#4F7F00">this_text</span> <span style="color:#000000">) &#038; " | tr a-z A-Z"<br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 20px;"><span style="color:#000000">	</span> <span style="font-weight:bold;color:#000000">end</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">if</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 20px;"><span style="color:#000000">	</span> <span style="font-weight:bold;color:#000000">return</span> <span style="color:#000000"> </span> <span style="font-weight:bold;color:#000000">the</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">new_text</span> <span style="color:#000000"><br />
</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"><span style="font-weight:bold;color:#000000">end</span> <span style="color:#000000"> </span> <span style="color:#4F7F00">change_case</span> </p>
<p style="margin: 0.0px 0.0px 0.0px 0px;"></div>
<p><!-- Applescript end --></code><br />
&#8230;End Handler</p>
<p>The above AppleScrunix example uses shell command &#8216;tr&#8217; to translate uppercase to lowercase, etc. Refer to the <a href="http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/tr.1.html"><strong>tr Mac OS X Man (Manual) Page</strong></a> for other uses.</p>
<hr />
<strong>Credits:</strong> I picked up the initial example script almost verbatim from <a href="https://discussions.apple.com/message/11452277">Apple Support Communities</a>. It was posted by a user I only know as V.K., on April 16, 2009 @ 10:13 am. ~Thanks VK!</p>
<hr />
<strong>AppleScript / AppleScrunix Examples</strong> &#8211; using the do shell script command in AppleScript.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindingthegaps.com/blog/2011/05/26/applescript-converting-uppercase-lowercase-applescrunix-style/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sorting with AppleScript (AppleScrunix Style)</title>
		<link>http://www.mindingthegaps.com/blog/2011/04/29/sorting-with-applescript-applescrunix-style/</link>
		<comments>http://www.mindingthegaps.com/blog/2011/04/29/sorting-with-applescript-applescrunix-style/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 20:50:03 +0000</pubDate>
		<dc:creator>Russ Leseberg</dc:creator>
				<category><![CDATA[automation]]></category>
		<category><![CDATA[gaps]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[applescrunix]]></category>
		<category><![CDATA[bubble sort]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[sort]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.mindingthegaps.com/blog/?p=3063</guid>
		<description><![CDATA[As there is no built-in sort function in AppleScript you have to create your own. A common way of sorting lists is to use the repeat function&#8230; cycling through the list comparing items as you progress.  One of the more efficient approaches is a bubble sort. You can find an excellent example in Lesson 18, [...]]]></description>
			<content:encoded><![CDATA[<p>As there is no built-in sort function in AppleScript you have to create your own. A common way of sorting lists is to use the repeat function&#8230; cycling through the list comparing items as you progress.  One of the more efficient approaches is a bubble sort. You can find an excellent example in Lesson 18, &#8220;Working with Lists and Records&#8221; in <strong>Sal Saghoian&#8217;s</strong> book, <a href="http://www.amazon.com/s/?tag=mindingthegap-20&amp;creative=392013&amp;campaign=212361&amp;link_code=wsw&amp;_encoding=UTF-8&amp;search-alias=aps&amp;field-keywords=applescript+123&amp;Submit.x=0&amp;Submit.y=0&amp;Submit=Go">AppleScript 1-2-3</a>.</p>
<p>This <strong>AppleScript</strong> bubble sort was taken in part from Sal&#8217;s book:</p>
<p><code></p>
<p style="margin: 0.0px 0.0px 0.0px 0px; font: 12.0px Verdana;"><strong>set</strong> <span style="color: #528e12;">fruit</span> <strong>to</strong> {"pears", "bananas", "apples", "grapes", "watermelon", "pineapple"}</p>
<p style="margin: 0.0px 0.0px 0.0px 0px; font: 12.0px Verdana; color: #528e12;"><span style="color: #000000;"><strong>set</strong> </span>last_swap_position<span style="color: #000000;"> <strong>to</strong> </span><span style="color: #8039d9;">length</span><span style="color: #000000;"> <strong>of</strong> </span>fruit</p>
<p style="margin: 0.0px 0.0px 0.0px 0px; font: 12.0px Verdana; color: #528e12;"><span style="color: #000000;"><strong>repeat</strong> <strong>while</strong> </span>last_swap_position<span style="color: #000000;"> &gt; 0</span></p>
<p style="margin: 0.0px 0.0px 0.0px 20px; font: 12.0px Verdana; color: #528e12;"><span style="color: #000000;"><span style="white-space: pre;"> </span><strong>set</strong> </span>comparisons_needed<span style="color: #000000;"> <strong>to</strong> </span>last_swap_position<span style="color: #000000;"> - 1</span></p>
<p style="margin: 0.0px 0.0px 0.0px 20px; font: 12.0px Verdana; color: #528e12;"><span style="color: #000000;"><span style="white-space: pre;"> </span><strong>set</strong> </span>last_swap_position<span style="color: #000000;"> <strong>to</strong> 0</span></p>
<p style="margin: 0.0px 0.0px 0.0px 20px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>repeat</strong> <strong>with</strong> <span style="color: #528e12;">i</span> <strong>from</strong> 1 <strong>to</strong> <span style="color: #528e12;">comparisons_needed</span></p>
<p style="margin: 0.0px 0.0px 0.0px 40px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>if</strong> <span style="color: #1440fc;"><em>item</em></span> <span style="color: #528e12;">i</span> <strong>of</strong> <span style="color: #528e12;">fruit</span> &gt; <span style="color: #1440fc;"><em>item</em></span> (<span style="color: #528e12;">i</span> + 1) <strong>of</strong> <span style="color: #528e12;">fruit</span> <strong>then</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 60px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>set</strong> <span style="color: #528e12;">swap_item</span> <strong>to</strong> <span style="color: #1440fc;"><em>item</em></span> <span style="color: #528e12;">i</span> <strong>of</strong> <span style="color: #528e12;">fruit</span></p>
<p style="margin: 0.0px 0.0px 0.0px 60px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>set</strong> <span style="color: #1440fc;"><em>item</em></span> <span style="color: #528e12;">i</span> <strong>of</strong> <span style="color: #528e12;">fruit</span> <strong>to</strong> <span style="color: #1440fc;"><em>item</em></span> (<span style="color: #528e12;">i</span> + 1) <strong>of</strong> <span style="color: #528e12;">fruit</span></p>
<p style="margin: 0.0px 0.0px 0.0px 60px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>set</strong> <span style="color: #1440fc;"><em>item</em></span> (<span style="color: #528e12;">i</span> + 1) <strong>of</strong> <span style="color: #528e12;">fruit</span> <strong>to</strong> <span style="color: #528e12;">swap_item</span></p>
<p style="margin: 0.0px 0.0px 0.0px 60px; font: 12.0px Verdana; color: #528e12;"><span style="color: #000000;"><span style="white-space: pre;"> </span><strong>set</strong> </span>last_swap_position<span style="color: #000000;"> <strong>to</strong> </span>i</p>
<p style="margin: 0.0px 0.0px 0.0px 40px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>end</strong> <strong>if</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 20px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>end</strong> <strong>repeat</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 0px; font: 12.0px Verdana;"><strong>end</strong> <strong>repeat</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 0px; font: 12.0px Verdana;"><strong>return</strong> <span style="color: #528e12;">fruit</span></p>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.6px; font: 12.0px Verdana;"><span style="color: #528e12;"> </span><span style="font-family: Times; font-size: small;">= {"apples", "bananas", "grapes", "pears", "pineapple", "watermelon"}</span></p>
<p></code></p>
<p>Using <strong>AppleScrunix</strong> you can sort the same list using a shell script sort command:<br />
<code> </code></p>
<p><code> </code></p>
<p><code></p>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.6px; font: 12.0px Verdana;"><strong>set</strong> <span style="color: #528e12;">fruit</span> <strong>to</strong> {"pears", "bananas", "apples", "grapes", "watermelon", "pineapple"}</p>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.6px; font: 12.0px Verdana; color: #8039d9;"><span style="color: #000000;"><strong>set</strong> </span>text item delimiters<span style="color: #000000;"> <strong>to</strong> {</span><span style="color: #0c37bc;"><strong>ASCII character</strong></span><span style="color: #000000;"> 10}</span></p>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.6px; font: 12.0px Verdana;"><strong>set</strong> <span style="color: #528e12;">fruit</span> <strong>to</strong> <span style="color: #528e12;">fruit</span> <strong>as</strong> <span style="color: #1440fc;"><em>string</em></span></p>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.6px; font: 12.0px Verdana;"><strong>set</strong> <span style="color: #528e12;">fruit</span> <strong>to</strong> <span style="color: #1440fc;"><em>paragraphs</em></span> <strong>of</strong> (<span style="color: #0c37bc;"><strong>do shell script</strong></span> "echo " &amp; <span style="color: #8039d9;">quoted form</span> <strong>of</strong> (<span style="color: #528e12;">fruit</span>) &amp; " | sort -f")</p>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.6px; font: 12.0px Verdana; color: #8039d9;"><span style="color: #000000;"><strong>set</strong> </span>text item delimiters<span style="color: #000000;"> <strong>to</strong> ""</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0px; font: 12.0px Verdana;"><strong>return</strong> <span style="color: #528e12;">fruit</span></p>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.6px; font: 12.0px Verdana;"><span style="color: #528e12;"> </span><span style="font-family: Times; font-size: small;">= {"apples", "bananas", "grapes", "pears", "pineapple", "watermelon"}</span></p>
<p></code></p>
<p>Though it doesn&#8217;t save much coding, it executes faster, especially as the lists get longer. Using sort, via shell, also allows for files/lists to be sorted without having to open them. I will cover that in a future post.</p>
<p>We will continue to delve deeper into <strong>AppleScript</strong> &amp; <strong>AppleScrunix</strong> in future posts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindingthegaps.com/blog/2011/04/29/sorting-with-applescript-applescrunix-style/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Birth of AppleScrunix</title>
		<link>http://www.mindingthegaps.com/blog/2011/03/31/the-birth-of-applescrunix/</link>
		<comments>http://www.mindingthegaps.com/blog/2011/03/31/the-birth-of-applescrunix/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 21:20:30 +0000</pubDate>
		<dc:creator>Russ Leseberg</dc:creator>
				<category><![CDATA[automation]]></category>
		<category><![CDATA[gaps]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[applescrunix]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.mindingthegaps.com/blog/?p=2953</guid>
		<description><![CDATA[On March 24, 2001 Apple introduced it&#8217;s &#8216;Unix&#8217; based version of Mac OS, Mac OS X. Steve Jobs said, &#8220;Mac OS X is the most important software from Apple since the original Macintosh operating system in 1984 that revolutionized the entire industry.&#8221; See Mac OS X Hits Stores This Weekend. The following 10 years saw [...]]]></description>
			<content:encoded><![CDATA[<p>On March 24, 2001 Apple introduced it&#8217;s &#8216;Unix&#8217; based version of Mac OS, <strong>Mac OS X</strong>. <strong>Steve Jobs</strong> said, &#8220;Mac OS X is the most important software from Apple since the original Macintosh operating system in 1984 that revolutionized the entire industry.&#8221; See <a href="http://www.apple.com/pr/library/2001/mar/21osxstore.html">Mac OS X Hits Stores This Weekend</a>. The following 10 years saw Apple morph from has-been to has-it-all. Check out Adam Rosen&#8217;s fun piece chronicling the evolution of OS X, <a href="http://www.cultofmac.com/welcome-to-mac-os-x-an-illustrated-introduction-10th-anniversary">Welcome to Mac OS X: An Illustrated Introduction [10th Anniversary]</a>, on <a href="http://www.cultofmac.com">Cult of Mac</a>.</p>
<p>While reinventing the Mac, Mac OS X also revitalized my favorite scripting language, <a href="http://developer.apple.com/library/mac/#documentation/AppleScript/Conceptual/AppleScriptX/AppleScriptX.html">AppleScript</a>. In addition to providing &#8220;control of scriptable applications and of many parts of the Mac OS,&#8221; OS X gave <strong>AppleScript</strong> access to the power of Unix, and introduced me to what I like to call <strong>AppleScrunix</strong>.</p>
<p><strong>AppleScript</strong> has long offered Mac power users a way to do what they love to do better and faster. <strong>Sal Saghoian</strong>, AppleScript Product Manager at Apple, and <strong>de facto king of AppleScript</strong>, rightly states in his book, <a href="http://www.amazon.com/s/?tag=mindingthegap-20&amp;creative=392013&amp;campaign=212361&amp;link_code=wsw&amp;_encoding=UTF-8&amp;search-alias=aps&amp;field-keywords=applescript+123&amp;Submit.x=0&amp;Submit.y=0&amp;Submit=Go">AppleScript 1-2-3</a>, that AppleScript is the &#8220;power to make the computer do what you want and need it to do <em>for you</em>.&#8221;</p>
<p>The <strong>mashup of Applescript and Unix</strong>, <strong>AppleScrunix</strong>, brings two automation powerhouses together, creating (arguably) the most powerful automation platform on the planet. A simple example can be illustrated by solving a common problem in scripting, that of creating a date/time string for the unique naming of files.</p>
<p>In order to create a date/time string to append to a file name consisting of Year, Month, Day, Hours (military time), Minutes and Seconds, such as <strong>20110331155523</strong>&#8230;</p>
<p>&#8230;straight <strong>AppleScript</strong> might look like this:<br />
<code>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.6px; font: 12.0px Verdana; color: #0c37bc;"><span style="color: #000000;"><strong>set</strong> </span><span style="color: #528e12;">cd</span><span style="color: #000000;"> <strong>to</strong> (</span><strong>current date</strong><span style="color: #000000;">)</span></p>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.6px; font: 12.0px Verdana; color: #8039d9;"><span style="color: #000000;"><strong>set</strong> </span>text item delimiters<span style="color: #000000;"> <strong>to</strong> ""</span></p>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.6px; font: 12.0px Verdana;"><strong>set</strong> <span style="color: #528e12;">dateTime</span> <strong>to</strong> <span style="color: #8039d9;">year</span> <strong>of</strong> <span style="color: #528e12;">cd</span> &amp; <span style="color: #1440fc;"><em>text items</em></span> -2 <strong>thru</strong> -1 <strong>of</strong> ("0" &amp; (<span style="color: #1440fc;"><em>month</em></span> <strong>of</strong> <span style="color: #528e12;">cd</span> <strong>as</strong> <span style="color: #1440fc;"><em>integer</em></span>)) &amp; <span style="color: #1440fc;"><em>text items</em></span> -2 <strong>thru</strong> -1 <strong>of</strong> ("0" &amp; (<span style="color: #8039d9;">day</span> <strong>of</strong> <span style="color: #528e12;">cd</span>)) &amp; <span style="color: #1440fc;"><em>text items</em></span> -2 <strong>thru</strong> -1 <strong>of</strong> ("0" &amp; (<span style="color: #8039d9;">hours</span> <strong>of</strong> <span style="color: #528e12;">cd</span>)) &amp; <span style="color: #1440fc;"><em>text items</em></span> -2 <strong>thru</strong> -1 <strong>of</strong> ("0" &amp; (<span style="color: #8039d9;">minutes</span> <strong>of</strong> <span style="color: #528e12;">cd</span>)) &amp; <span style="color: #1440fc;"><em>text items</em></span> -2 <strong>thru</strong> -1 <strong>of</strong> ("0" &amp; (<span style="color: #1440fc;"><em>seconds</em></span> <strong>of</strong> <span style="color: #528e12;">cd</span>)) <strong>as</strong> <span style="color: #1440fc;"><em>string</em></span></p>
<p></code></p>
<p>&#8230;with <strong>AppleScrunix</strong> you can do this:<br />
<code>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.6px; font: 12.0px Verdana;"><strong>set</strong> <span style="color: #528e12;">dateTime</span> <strong>to</strong> <span style="color: #0c37bc;"><strong>do shell script</strong></span> "date +%Y%m%d%H%M%S"</p>
<p></code></p>
<p>We will delve deeper into <strong>AppleScrunix</strong> in future posts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindingthegaps.com/blog/2011/03/31/the-birth-of-applescrunix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MobileMe &amp; the iDisk Gap (Bridging the gap)</title>
		<link>http://www.mindingthegaps.com/blog/2010/11/30/mobile-me-and-the-idisk-gap/</link>
		<comments>http://www.mindingthegaps.com/blog/2010/11/30/mobile-me-and-the-idisk-gap/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 13:58:35 +0000</pubDate>
		<dc:creator>Russ Leseberg</dc:creator>
				<category><![CDATA[gaps]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[Mobile Me]]></category>
		<category><![CDATA[panic]]></category>
		<category><![CDATA[transmit]]></category>

		<guid isPermaLink="false">http://www.mindingthegaps.com/blog/?p=2516</guid>
		<description><![CDATA[I am a fan of most Apple products and usually do not hesitate recommending them. MobileMe has been a glaring exception. While I consider the overall value of MobileMe to be well worth the $99 per year, the iDisk service has been slow and buggy. Despite an extended marathon on the Apple Tech Support Line [...]]]></description>
			<content:encoded><![CDATA[<p>I am a fan of most Apple products and usually do not hesitate recommending them. MobileMe has been a glaring exception. While I consider the overall value of MobileMe to be well worth the $99 per year, the iDisk service has been slow and buggy. Despite an extended marathon on the Apple Tech Support Line and a myriad of in-store genius attempts, the performance has remained &#8216;iffy&#8217; at best.</p>
<p>Enter <a href="http://www.panic.com/transmit/">Transmit 4</a> software by <a href="http://www.panic.com/">Panic Inc</a>. Add Transmit 4 to iDisk and you more than solve the problem, you blow it away. Combining Transmit 4 and iDisk gives you a glimpse into the flexibility and power of cloud-based storage. So Steve, ehh&#8230; Mr. Jobs, how about buying Panic Inc. and making iDisk the cloud storage solution it was born to be. Cloud-based computing is only as good as the bridge you take to get there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindingthegaps.com/blog/2010/11/30/mobile-me-and-the-idisk-gap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My iPad and I take to the Skies</title>
		<link>http://www.mindingthegaps.com/blog/2010/09/30/my-ipad-and-i-take-to-the-skies/</link>
		<comments>http://www.mindingthegaps.com/blog/2010/09/30/my-ipad-and-i-take-to-the-skies/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 02:30:54 +0000</pubDate>
		<dc:creator>Russ Leseberg</dc:creator>
				<category><![CDATA[gaps]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[planes]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[travel]]></category>
		<category><![CDATA[use case]]></category>

		<guid isPermaLink="false">http://www.mindingthegaps.com/blog/?p=2441</guid>
		<description><![CDATA[I fly a lot and it seems as if the space between plane seats narrows a bit more every year. So much so, I gave up using a laptop to get any work done on most flights. When I got my iPad I gained back much of the work time I had lost, but it [...]]]></description>
			<content:encoded><![CDATA[<p>I fly a lot and it seems as if <strong>the space between plane seats narrows a bit more every year</strong>. So much so, I gave up using a laptop to get any work done on most flights. <strong>When I got my iPad I gained back much of the work time I had lost</strong>, but it meant giving up one of my favorite seats, 8A, at least on a CRJ (Canadair Regional Jet).<br />
<div id="attachment_2450" class="wp-caption alignnone" style="width: 522px"><a href="http://www.mindingthegaps.com/blog/2010/09/30/my-ipad-and-i-take-to-the-skies/plane_seating/" rel="attachment wp-att-2450"><img src="http://www.mindingthegaps.com/blog/wp-content/uploads/2010/09/Plane_Seating.png" alt="CRJ 8A - iPad Unfriendly Seating for Right-handers" title="Plane_Seating" width="512" height="278" class="size-full wp-image-2450" /></a><p class="wp-caption-text">CRJ 8A - iPad Unfriendly Seating for Right-handers</p></div></p>
<p>Row 8 window seats on the CRJ are great because they remove the arm rest toward the exit door giving you an extra 2 inches of width. Width a man of my&#8230; ehm&#8230; build thoroughly appreciates. Since I hold my iPad with my left hand and navigate with my right, however, 8B is less than thrilled. </p>
<p>Who would have guessed we would be changing airplane seats to accommodate gadgets? Note to self, let travel agent know&#8230; <strong>8D is the new 8A</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindingthegaps.com/blog/2010/09/30/my-ipad-and-i-take-to-the-skies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

