<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.3" -->
<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/"
	>

<channel>
	<title>Bitcontrol</title>
	<link>http://www.bitcontrol.org</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Fri, 01 Aug 2008 04:34:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.3</generator>
	<language>en</language>
			<item>
		<title>Turn Off iPhone Backups</title>
		<link>http://www.bitcontrol.org/2008/07/31/turn-off-iphone-backups/</link>
		<comments>http://www.bitcontrol.org/2008/07/31/turn-off-iphone-backups/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 04:30:05 +0000</pubDate>
		<dc:creator>Ryan Orr</dc:creator>
		
		<category><![CDATA[Fixes]]></category>

		<category><![CDATA[Mobile Phone]]></category>

		<category><![CDATA[Apple]]></category>
<category>2.0</category><category>apple</category><category>backup</category><category>com.apple.itunes</category><category>DeviceBackupsDisabled</category><category>disable</category><category>fixes</category><category>iphone</category><category>ipod touch</category><category>itunes</category><category>mobile phone</category><category>slow</category><category>sync</category>
		<guid isPermaLink="false">http://www.bitcontrol.org/2008/07/31/turn-off-iphone-backups/</guid>
		<description><![CDATA[
A cursory glance at Twitter over the past few weeks shows quite a few people aren&#8217;t happy with the time it takes the iPhone 2.0 software to complete a backup when it&#8217;s synced in iTunes.
There is an easy way to prevent iTunes from backing up the iPhone, but first a word of caution.  Backups [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.bitcontrol.org/wp-content/uploads/2008/07/backing_up.png' alt='iPhone backing up' /></p>
<p>A cursory glance at Twitter over the past few weeks shows quite a few people <a target="_blank" href="http://search.twitter.com/search?q=iPhone+backup+slow">aren&#8217;t happy with the time it takes</a> the iPhone 2.0 software to complete a backup when it&#8217;s synced in iTunes.</p>
<p>There is an easy way to prevent iTunes from backing up the iPhone, but first a word of caution.  Backups are beneficial.  They allow you to quickly recover from a crash by restoring your settings.  The backups contain passwords stored in keychain, all of your app settings, wireless APs, and the list goes on.  With that said, do one last sync, then disable backups and if you need to restore you have a slightly out-of-date backup to restore from.</p>
<p>It goes without saying, but the procedure is for OS X, Windows folks should feel free to <a target="_blank" href="http://store.apple.com">buy a Mac</a> and circle back here to continue.</p>
<ol>
<li>Quit iTunes</li>
<li>
		Open Terminal (Applications &gt; Utilities &gt; Terminal)<br/><br />
		<img src='http://www.bitcontrol.org/wp-content/uploads/2008/07/terminal.thumbnail.png' alt='Path to Terminal' />
	</li>
<li>
		Type <em>defaults write com.apple.itunes DeviceBackupsDisabled -bool YES</em><br/><br />
		<img src='http://www.bitcontrol.org/wp-content/uploads/2008/07/commandline.thumbnail.png' alt='Command to type into terminal' />
	</li>
<li>Open iTunes. Your done. </li>
</ol>
<p><img src='http://www.bitcontrol.org/wp-content/uploads/2008/07/context_menus.thumbnail.png' alt='Context menu with and without Backup option' /></p>
<p>Backups will no longer occur, nor will you be able to force a backup in the context menu associate with the iPhone. You will, however, be able to restore from the backup you created prior to disabling the backup.  If you&#8217;d like to enable backups again, follow the same procedure but type <em>defaults write com.apple.itunes DeviceBackupsDisabled -bool NO</em> instead.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitcontrol.org/2008/07/31/turn-off-iphone-backups/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Speaking at WWDC08, Session 454</title>
		<link>http://www.bitcontrol.org/2008/06/08/speaking-at-wwdc08-session-454/</link>
		<comments>http://www.bitcontrol.org/2008/06/08/speaking-at-wwdc08-session-454/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 02:20:18 +0000</pubDate>
		<dc:creator>Ryan Orr</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[Apple]]></category>
<category>apple</category><category>apple store</category><category>case study</category><category>optimization techniques</category><category>presentation</category><category>safari</category><category>speech</category><category>talk</category><category>web development</category><category>web responsiveness</category><category>wwdc</category><category>wwdc08</category>
		<guid isPermaLink="false">http://www.bitcontrol.org/2008/06/08/speaking-at-wwdc08-session-454/</guid>
		<description><![CDATA[
WWDC08 is upon us, and I neglected to advertise the talk that I am giving with the very talented Jeff Watkins.  We are presenting:
Session 454: Improving Responsiveness in Websites and Web Applications.Friday, June 13th 2:00PM-3:15PMMarina Conference Room
We have some great optimization techniques to go over with you, and we plan to talk about a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.bitcontrol.org/wp-content/uploads/2008/06/apple-wwdc-08.gif" alt="Apple WWDC 08" height="76" width="400"/></p>
<p><a target="_blank" href="http://developer.apple.com/wwdc/schedules/">WWDC08</a> is upon us, and I neglected to advertise the talk that I am giving with the very talented <a target="_blank" href="http://nerd.metrocat.org/">Jeff Watkins</a>.  We are presenting:</p>
<p><strong>Session 454: Improving Responsiveness in Websites and Web Applications</strong>.<br/>Friday, June 13th 2:00PM-3:15PM<br/>Marina Conference Room</p>
<p>We have some great optimization techniques to go over with you, and we plan to talk about a real world case study involving the <a target="_blank" href="http://store.apple.com">Online Apple Store</a>.</p>
<p>Additionally, I&#8217;ll be staffing the:</p>
<p><strong>Safari Compatibility Lab</strong><br/>Tuesday, June 10th 9:00AM-12:00PM<br/>OS X Foundations Lab A</p>
<p>Feel free to come by if you have any questions, or if you&#8217;d like to chat.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitcontrol.org/2008/06/08/speaking-at-wwdc08-session-454/feed/</wfw:commentRss>
		</item>
		<item>
		<title>AppleScript to Unmount all drives</title>
		<link>http://www.bitcontrol.org/2008/02/06/applescript-to-unmount-all-drives/</link>
		<comments>http://www.bitcontrol.org/2008/02/06/applescript-to-unmount-all-drives/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 02:55:04 +0000</pubDate>
		<dc:creator>Ryan Orr</dc:creator>
		
		<category><![CDATA[Productivity]]></category>

		<category><![CDATA[Fixes]]></category>

		<category><![CDATA[Apple]]></category>
<category>apple</category><category>applescript</category><category>fixes</category><category>hard drive</category><category>ipod</category><category>productivity</category><category>quicksilver</category><category>scripts</category><category>unmount</category>
		<guid isPermaLink="false">http://www.bitcontrol.org/2008/02/06/applescript-to-unmount-all-drives/</guid>
		<description><![CDATA[
I often have many external volumes connected to my laptop at any given time (network drives, iPods, external HD, etc.).  It can be annoying to manually disconnect each one of them before I unplug the USB hub.  Instead I use a quick AppleScript to do the job of disconnecting all of my external [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.bitcontrol.org/wp-content/uploads/2008/02/running-unmount-script-from-quicksilver.jpg" alt="Running Unmount Script From Quicksilver" height="246" width="396" /></p>
<p>I often have many external volumes connected to my laptop at any given time (network drives, iPods, external HD, etc.).  It can be annoying to manually disconnect each one of them before I unplug the USB hub.  Instead I use a quick AppleScript to do the job of disconnecting all of my external volumes.  I bind the script to a <a target="_blank" href="http://www.blacktree.com/">QuickSilver</a> trigger and fire that up before I&#8217;m about to disconnect the hub.  It saves me a bit of sanity.</p>
<p>Download <a target="_blank" href="/wp-content/uploads/2008/02/unmount_all_drives.applescript">unmount_all_drives.applescript</a></p>
<pre>
<code class="applescript">
tell application "Finder"
	set allVolumes to the name of every disk
	repeat with i from 1 to the count of allVolumes
		if item i of allVolumes is not the name of the startup disk then
			-- Uncomment the 2 lines below if you don't want Network drives unmounted.
			-- if item i of allVolumes is not "Network" then
			eject (item i of allVolumes)
			-- end if
		end if
	end repeat
end tell
</code>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bitcontrol.org/2008/02/06/applescript-to-unmount-all-drives/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Starting a new job at Apple</title>
		<link>http://www.bitcontrol.org/2007/11/18/starting-a-new-job-at-apple/</link>
		<comments>http://www.bitcontrol.org/2007/11/18/starting-a-new-job-at-apple/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 11:19:03 +0000</pubDate>
		<dc:creator>Ryan Orr</dc:creator>
		
		<category><![CDATA[Apple]]></category>
<category>apple</category><category>job</category><category>moving</category><category>revolution health</category><category>ryan</category>
		<guid isPermaLink="false">http://www.bitcontrol.org/2007/11/18/starting-a-new-job-at-apple/</guid>
		<description><![CDATA[
	

The posts have been scant around here, primarily because I&#8217;ve been preparing for my move from DC to the Bay Area to join a wonderfully talented web development team at Apple.  I&#8217;ll miss the excellent people at Revolution Health, and the great web community that has been bubbling in DC for some time.
At the [...]]]></description>
			<content:encoded><![CDATA[<div class="l">
	<img src="http://www.bitcontrol.org/wp-content/uploads/2007/11/apple-logo.gif" alt="Apple Logo" height="220" width="179" />
</div>
<p>The posts have been scant around here, primarily because I&#8217;ve been preparing for my move from DC to the Bay Area to join a <a target="_blank" href="http://store.apple.com">wonderfully talented web development team</a> at Apple.  I&#8217;ll miss the excellent people at <a target="_blank" href="http:/www.revolutionhealth.com">Revolution Health</a>, and the <a target="_blank" href="http://refresh-dc.org/">great</a> <a target="_blank" href="http://www.hungrymachine.com">web</a> <a target="_blank" href="http://www.nclud.com">community</a> that has been bubbling in DC for some time.</p>
<p>At the same time, I&#8217;m more than thrilled that I get the opportunity to work with the most brilliant people in the web development field, a virtually iconic company and I get to return to the Bay Area&#8211;the place where I grew up.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitcontrol.org/2007/11/18/starting-a-new-job-at-apple/feed/</wfw:commentRss>
		</item>
		<item>
		<title>After the Upgrade to Leopard: Tips and Information</title>
		<link>http://www.bitcontrol.org/2007/10/25/after-the-upgrade-to-leopard-tips-and-information/</link>
		<comments>http://www.bitcontrol.org/2007/10/25/after-the-upgrade-to-leopard-tips-and-information/#comments</comments>
		<pubDate>Fri, 26 Oct 2007 03:49:11 +0000</pubDate>
		<dc:creator>Ryan Orr</dc:creator>
		
		<category><![CDATA[Fixes]]></category>

		<category><![CDATA[Apple]]></category>
<category>appfresh</category><category>apple</category><category>billings</category><category>crontab</category><category>dashboard widgets</category><category>dock</category><category>fix</category><category>fixes</category><category>leopard</category><category>letterbox view</category><category>mail act on</category><category>mail badger</category><category>mail.app</category><category>maill.appetizer</category><category>monolingual</category><category>mysql</category><category>quicksilver</category><category>superduper</category><category>tips</category><category>upgrade</category>
		<guid isPermaLink="false">http://www.bitcontrol.org/2007/10/25/after-the-upgrade-to-leopard-tips-and-information/</guid>
		<description><![CDATA[
	

Today I upgraded my MacBook Pro from Tiger to Leopard, and I thought I would share a few of the things that I noticed or came up against.

The upgrade took just over an hour from start to finish.
Mail Act-On, Mail.appetizer, Letterbox View &#38; Mail Badger bundles for Mail.app are all disabled because they fail to [...]]]></description>
			<content:encoded><![CDATA[<div class="lb">
	<img src="http://www.bitcontrol.org/wp-content/uploads/2007/10/leopard-cd.jpg" alt="Leopard CD" height="165" width="220" />
</div>
<p>Today I upgraded my MacBook Pro from Tiger to Leopard, and I thought I would share a few of the things that I noticed or came up against.</p>
<ul>
<li>The upgrade took just over an hour from start to finish.</li>
<li><a target="_blank" href="http://www.indev.ca/MailActOn.html">Mail Act-On</a>, <a target="_blank" href="http://www.bronsonbeta.com/mailappetizer/">Mail.appetizer</a>, <a target="_blank" href="http://harnly.net/2006/software/letterbox/letterbox-016/">Letterbox View</a> &amp; <a target="_blank" href="http://www.tonyallevato.com/index.php?option=com_content%26task=view%26id=13%26Itemid=29">Mail Badger</a> bundles for Mail.app are all disabled because they fail to work with Mail.app 3.0.</li>
<li>Aaron Harnly is <a target="_blank" href="http://harnly.net/2006/software/letterbox/letterbox-016/#comment-298">working on a fix</a> for Letterbox View for Leopard. (<a target="_blank" href="#wide_screen_mail">see update below</a>)</li>
<li>Quicksilver will display the QS icon in the dock even though you have that option turned off, unless you <a target="_blank" href="http://quicksilver.blacktree.com/">upgrade to &beta;52 or higher</a>. (The front page says &#8220;Download &beta;51&#8243;, but it&#8217;s really &beta;52)</li>
<li>Tiger used to use 500MB of RAM off a fresh reboot, Leopard only uses 300MB out of 2GB.</li>
<li>Running <a target="_blank" href="http://monolingual.sourceforge.net/">Monoligual</a> after the Leopard install gave me 1.8GB back.</li>
<li>Many non-Apple dashboard widgets have odd visual bugs, most likely due to the new Safari 3 HTML rendering.</li>
<li>Dashboard (DashboardClient process) would hang after the Leopard install.  I traced it down to <a target="_blank" href="http://www.macupdate.com/info.php/id/24605">Jud Stephenson&#8217;s Adsense Widget</a>, it doesn&#8217;t look like he maintains it any longer.  Removing it fixed the Dashboard freezes.</li>
<li>Dave Nanian says that <a target="_blank" href="http://www.shirt-pocket.com/blog/index.php/shadedgrey/comments/times_arrow_redux/">SuperDuper! 2.1.4 won&#8217;t do a proper backup on Leopard</a>, people in the comments claim otherwise.  I&#8217;m going to believe Dave on this one; seems we&#8217;ll have to sit tight for an <a target="_blank" href="http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html">update</a>.</li>
<li>It&#8217;s really hard to distinguish which applications are open with the 3D dock.  Following <a target="_blank" href="http://www.macosxhints.com/article.php?story=2007101815375480">this tip</a> allows you to have a 2D dock, when the dock is on the bottom of the screen.</li>
<li><strike>AppFresh would crash everytime I started it in Leopard.  Deleting ~/Library/Application Support/AppFresh/PersistentStore.sqlite would allow it to start, but checking my apps for updates returns an error: &#8220;Operation could not be completed. (NSURLErrorDomain error -1100.)&#8221;  I haven&#8217;t figured out a fix for this yet.</strike> (<a target="_blank" href="#app_fresh_update">see update below</a>)</li>
<li>Every user&#8217;s crontab is wiped out after the upgrade, so I hope you dumped them to a flat first (ex. crontab -l > crontab.backup)</li>
</ul>
<p><strong>Update: Oct 26th,2007</strong></p>
<ul>
<li>The Preference Pane for MySQL 5.0 doesn&#8217;t work, start it from the Terminal with the following command: &#8220;/Library/StartupItems/MySQLCOM/MySQLCOM start&#8221;</li>
</ul>
<p><strong>Update: Oct 29th, 2007</strong></p>
<ul>
<li><a target="_blank" href="http://www.billings2.com/">MarketCircle&#8217;s Billings</a> application, which I use for to time track and bill freelance customers, <a target="_blank" href="http://www.marketcircle.com/blog/?p=56">has a beta build out</a> to fix Leopard compatibility issues.  The new version is 2.5.2.</li>
<li>Many of the Mail.app bundles can made to work by following the instructions in <a target="_blank" href="http://indev.ca/forum/viewtopic.php?p=2662#2662">this thread</a>.  I&#8217;ve gotten <a target="_blank" href="http://www.indev.ca/MailActOn.html">Mail Act-On</a>, <a target="_blank" href="http://www.bronsonbeta.com/mailappetizer/">Mail.appetizer</a>, <a target="_blank" href="http://harnly.net/2006/software/letterbox/letterbox-016/">Letterbox View</a> working using the trick in the thread. <a target="_blank" href="http://www.tonyallevato.com/index.php?option=com_content%26task=view%26id=13%26Itemid=29">Mail Badger</a> is still very broken.</li>
</ul>
<p><strong>Update: Oct 30th, 2007</strong></p>
<ul>
<li>Graphics and instructions to replace the 3D shelf dock with a &#8220;<a target="_blank" href="http://www.blambert.co.uk/smokedock/">Smoked Glass Dock</a>&#8221; has been release.  It looks much better than the one that ships with Leopard.</li>
</ul>
<p><strong>Update: Nov 1st, 2007</strong></p>
<ul>
<li id="app_fresh_update">AppFresh works properly if you delete ~/Library/Application Support/AppFresh &amp; /Library/Application Support/AppFresh directories.  Thanks to <a target="_blank" href="#comment-45">commenter, Will Kerr</a> for pointing that out.</li>
</ul>
<p><strong>Update: Nov 7th, 2007</strong></p>
<ul>
<li id="wide_screen_mail">It looks like Dane Harnett has beaten Aaron Harnly to the punch and released a <a target="_blank" href="http://www.daneharnett.com/widescreen/WidescreenMailPlugin.html">leopard Mail.app plugin for WideScreen mail</a>. It has more features than Harnly&#8217;s original Letterbox bundle for Tiger&#8217;s Mail.app.</li>
</ul>
<p>I will add more tips and information as I come across them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitcontrol.org/2007/10/25/after-the-upgrade-to-leopard-tips-and-information/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Testing in Safari 2 and Safari 3?</title>
		<link>http://www.bitcontrol.org/2007/10/15/testing-in-safari-2-and-safari-3/</link>
		<comments>http://www.bitcontrol.org/2007/10/15/testing-in-safari-2-and-safari-3/#comments</comments>
		<pubDate>Mon, 15 Oct 2007 22:07:06 +0000</pubDate>
		<dc:creator>Ryan Orr</dc:creator>
		
		<category><![CDATA[Opinion]]></category>

		<category><![CDATA[Design]]></category>

		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[Apple]]></category>
<category>apple</category><category>design</category><category>leopard</category><category>opinion</category><category>osx</category><category>prediction</category><category>safari</category><category>safari 2</category><category>safari 3</category><category>software update</category><category>standards</category><category>testing</category><category>tiger</category><category>web designer</category><category>web developer</category><category>web development</category>
		<guid isPermaLink="false">http://www.bitcontrol.org/2007/10/15/testing-in-safari-2-and-safari-3/</guid>
		<description><![CDATA[
I recently wrote about keeping Safari 2 after installing Safari 3 beta.  Turns out, as I corrected in the original entry, that isn&#8217;t true.  This leads me to a question, What are people going to do to test both sites in both Safari 2 (Tiger&#8217;s shipping version of Safari) &#38; Safari 3 (Leopard&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.bitcontrol.org/wp-content/uploads/2007/10/safari-icon.jpg" alt="Safari Icon" height="128" width="128" /></p>
<p>I recently wrote about <a target="_blank" href="/2007/06/15/run-both-safari-2-and-safari-3-beta/">keeping Safari 2 after installing Safari 3 beta</a>.  Turns out, as I corrected in the original entry, that isn&#8217;t true.  This leads me to a question, What are people going to do to test both sites in both Safari 2 (Tiger&#8217;s shipping version of Safari) &amp; Safari 3 (Leopard&#8217;s shipping version of Safari)?  There is no question that Safari 3 is a large leap ahead of Safari 2 with regards to correct CSS rendering, but that only matters if 80% of the Tiger users upgrade to Leopard&#8211;which seems doubtful.  This leaves 2, relatively painless possibilities for web designers and 1 option that would put many designers in a bind:</p>
<ol>
<li>
		<strong>Apple releases Safari 3 to Tiger users through Software Update</strong></p>
<p>Upgrading all Tiger users to Safari 3 would be the desired course of action from the web community.  We&#8217;d likely see Safari 2&#8217;s usage fade rather quickly and it would allow web designers to focus on supporting web standards and not maintaining an override stylesheet for Safari 2.</p>
<p>I also see this as a smart move for Apple; Safari is only getting better rendering support and is even faster than Safari 2.  Not to mention, Apple would then have both Windows and Mac users on the same browser version and they could start fading support for Safari 2.</p>
</li>
<li>
		<strong>Apple releases a standalone version of Safari 2 for web developer testing</strong></p>
<p>While I don&#8217;t see this as a likely possibility, there is always an edge case that we&#8217;ll need to support Safari 2 for the short-term.  This option would allow developers to test their code in Safari 2 and 3 from the same machine.</p>
</li>
<li>
		<strong>Apple freezes Tiger users at Safari 2, Leopards users at Safari 3</strong></p>
<p>Obviously, this possibility would be pretty dire to web developers, as there currently isn&#8217;t any way of running both versions on one machine, nor is there virtualization of OS X in an instance of OS X.  Developers would need multiple Macs in order to properly test in Safari 2 &amp; 3, or pick the version that has the most market share and forego the other.</p>
</li>
</ol>
<p>I&#8217;m fairly confident Apple isn&#8217;t careless enough to go with option #3, and it seems counterintuitive to their business strategy to leave some users on Safari 2 and some on Safari 3, although, they do employ this business model to iPods&mdash;to force obsolescence.  In the browser game it just doesn&#8217;t feel like a smart move.  If I were a betting man, I&#8217;d say they&#8217;ll send through a Safari 3 Software Update for Tiger users <a target="_blank" href="http://www.macrumors.com/2007/10/04/mac-os-x-leopard-on-october-26th/">on the day that Leopard ships</a>.</p>
<p>Does anyone else have a prediction on how they&#8217;ll handle this?  Drop &#8216;em in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitcontrol.org/2007/10/15/testing-in-safari-2-and-safari-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>RSizr: Content aware resizing program</title>
		<link>http://www.bitcontrol.org/2007/10/04/rsizr-content-aware-resizing-program/</link>
		<comments>http://www.bitcontrol.org/2007/10/04/rsizr-content-aware-resizing-program/#comments</comments>
		<pubDate>Thu, 04 Oct 2007 16:00:17 +0000</pubDate>
		<dc:creator>Ryan Orr</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[Website]]></category>
<category>content aware image resizing</category><category>flash</category><category>image resizing</category><category>rsizr</category>
		<guid isPermaLink="false">http://www.bitcontrol.org/2007/10/04/rsizr-content-aware-resizing-program/</guid>
		<description><![CDATA[A month ago I wrote about a YouTube video that popped up showing off content aware image resizing.  At the time there was just a video, now a flash app on the site Rsizr has appeared that actually allows you to use the technology.  According to the about page, the developers created their [...]]]></description>
			<content:encoded><![CDATA[<p>A month ago <a target="_blank" href="http://www.bitcontrol.org/2007/08/27/content-aware-image-resizing/">I wrote</a> about a YouTube video that popped up showing off content aware image resizing.  At the time there was just a video, now a flash app on the site <a href="http://www.rsizr.com">Rsizr</a> has appeared that actually allows you to use the technology.  According to the <a target="_blank" href="http://rsizr.com/about/about/">about page</a>, the developers created their own implementation after seeing the <a target="_blank" href="http://www.youtube.com/watch?v=qadw0BRKeMk">infamous video</a>.</p>
<p>Here is a before/after example I created using RSizr.  The image is from <a target="_blank" href="http://www.flickr.com/photos/knautia/169480847/">knautia</a>.  If you want to see more examples, check out the <a target="_blank" href="http://rsizr.com/about/gallery/">rsizr gallery</a>.</p>
<p><strong>Before</strong><br />
<img src="http://www.bitcontrol.org/wp-content/uploads/2007/10/sample-image-before-rsizr.jpg" alt="Sample Image Before Rsizr" height="341" width="450" /></p>
<p><strong>After</strong><br />
<img src="http://www.bitcontrol.org/wp-content/uploads/2007/10/sample-image-after-rsizr.jpg" alt="Sample Image After Rsizr" height="341" width="395" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitcontrol.org/2007/10/04/rsizr-content-aware-resizing-program/feed/</wfw:commentRss>
		</item>
		<item>
		<title>iTunes sleep timer script</title>
		<link>http://www.bitcontrol.org/2007/10/04/itunes-sleep-timer-script/</link>
		<comments>http://www.bitcontrol.org/2007/10/04/itunes-sleep-timer-script/#comments</comments>
		<pubDate>Thu, 04 Oct 2007 11:48:00 +0000</pubDate>
		<dc:creator>Ryan Orr</dc:creator>
		
		<category><![CDATA[Fixes]]></category>

		<category><![CDATA[Apple]]></category>
<category>apple</category><category>bash</category><category>bash shell script</category><category>fixes</category><category>itunes</category><category>osx</category><category>scripts</category><category>sleep timer</category><category>traveling</category>
		<guid isPermaLink="false">http://www.bitcontrol.org/2007/10/04/itunes-sleep-timer-script/</guid>
		<description><![CDATA[Recently, I&#8217;ve been traveling quite a bit, which means spending time away from a sleep environment that I&#8217;ve become accustom too.  At night, when I first go to bed, I like to listen to the radio for an hour or so on a sleep timer, but while on the road I don&#8217;t usually have [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I&#8217;ve been traveling quite a bit, which means spending time away from a sleep environment that I&#8217;ve become accustom too.  At night, when I first go to bed, I like to listen to the radio for an hour or so on a sleep timer, but while on the road I don&#8217;t usually have that option.  In order to fix the problem, I whipped up a quick BASH shell script to pause iTunes after a preset amount of time.  If no time parameter is passed, it defaults to 60 mins.</p>
<p>Download: <a target="_blank" href="/wp-content/uploads/2007/10/itunes_sleep_timer.sh">itunes_sleep_timer.sh</a></p>
<pre>
<code class="bash">
#!/bin/bash

itunes_grep_string="/Applications/iTunes.app/Contents/MacOS/"
time_to_close=60 #Minutes

if [ ! -z $1 ]; then
	time_to_close=$1
fi

itunes_pid=`ps aux | grep -i "$itunes_grep_string" | grep -v grep | awk '{print $2}'`
elapsed_minutes=0

if [ "$itunes_pid" == "" ]; then
	echo "iTunes is not currently running"
	exit 1;
fi

echo "iTunes pid is: $itunes_pid"
echo "iTunes will pause in $time_to_close minutes"

while [ $elapsed_minutes -lt $time_to_close ]; do
	printf "`expr $time_to_close - $elapsed_minutes` minutes remaining\r"
	sleep 60
	elapsed_minutes=`expr $elapsed_minutes + 1`
done

osascript -e 'tell application "iTunes"' -e "pause" -e "end tell"
</code>
</pre>
<p><strong>UPDATE: October, 4th, 2007</strong></p>
<p>By request (and request, I mean the lame-asses that email me instead of posting a comment), I&#8217;ve added a ruby version of this script.  It&#8217;s the same number of lines, so I&#8217;m not sure what benefit your receiving other than being able to verify that the time parameter is an integer.</p>
<p>Download: <a target="_blank" href="/wp-content/uploads/2007/10/itunes_sleep_timer.rb">itunes_sleep_timer.rb</a></p>
<pre>
<code class="ruby">
#!/usr/bin/env ruby

itunes_grep_string = "/Applications/iTunes.app/Contents/MacOS/"
time_to_close = 60 #Minutes

if ARGV[0].to_i != 0
  time_to_close = ARGV[0].to_i
end

itunes_pid = `ps aux | grep -i "#{itunes_grep_string}" | grep -v grep | awk '{print $2}'`
elapsed_minutes = 0

if itunes_pid == ""
  STDERR.puts "iTunes is not currently running"
  exit 1
end

puts "iTunes pid is: #{itunes_pid}"
puts "iTunes will pause in #{time_to_close} minutes"

while elapsed_minutes &lt; time_to_close
  printf("%s minutes remaining\n", time_to_close - elapsed_minutes)
  sleep(60)
  elapsed_minutes = elapsed_minutes + 1
end

`osascript -e 'tell application "iTunes"' -e "pause" -e "end tell"`
</code>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bitcontrol.org/2007/10/04/itunes-sleep-timer-script/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using ImageMagick to automate graphic button creation</title>
		<link>http://www.bitcontrol.org/2007/09/25/automating-the-creation-of-graphic-buttons/</link>
		<comments>http://www.bitcontrol.org/2007/09/25/automating-the-creation-of-graphic-buttons/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 13:00:09 +0000</pubDate>
		<dc:creator>Ryan Orr</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[Web Development]]></category>
<category>accessibility</category><category>buttons</category><category>command line</category><category>graphic button</category><category>html buttons</category><category>imagemagick</category><category>ruby</category><category>scripts</category>
		<guid isPermaLink="false">http://www.bitcontrol.org/2007/09/24/automating-the-creation-of-graphic-buttons/</guid>
		<description><![CDATA[Form buttons eventually become the bane of every web designer/developer&#8217;s existence, with the developers pushing for flat styled HTML buttons for ease of implementation and creative pushing for slightly more complex graphical buttons.  The trick to using graphical buttons lies in the creation of a semi-automatic scheme to build and deliver the assets, which [...]]]></description>
			<content:encoded><![CDATA[<p>Form buttons eventually become the bane of every web designer/developer&#8217;s existence, with the developers pushing for flat styled HTML buttons for ease of implementation and creative pushing for slightly more complex graphical buttons.  The trick to using graphical buttons lies in the creation of a semi-automatic scheme to build and deliver the assets, which is exactly what I built to automate the creation of RevolutionHealth.com&#8217;s green graphical buttons in an attempt to tame an unruly set of image files and creation steps.</p>
<p><img src="http://www.bitcontrol.org/wp-content/uploads/2007/09/sample-button-with-rollovers.png" class="no_resize" alt="Sample Button with Rollovers" height="120" width="102"></p>
<p>When going the graphical button route, you can simple use a background image and have the browser text display on top, but we decided that we wanted fully graphic buttons so that the text could be styled to a greater detail.  This necessitated building each button by hand in Photoshop, something that is rather painful and tedious when you have multiple buttons to create because of all the text on the various rollover states.</p>
<p><img src="http://www.bitcontrol.org/wp-content/uploads/2007/09/sample-button-slices.gif" class="no_resize" alt="Sample Button Slices" height="361" width="394"></p>
<p>Instead, I decided to create a image with all the valid characters on it, slice it up into those various characters (as shown above) and save the pieces in a folder.  Then leveraging the wonderful command line applications in the open source project <a target="_blank" href="http://www.imagemagick.org/script/index.php">ImageMagick</a> I created a small ruby  script that stitches the individual pieces back together, creating a button based on a string parameter.</p>
<p><img src="http://www.bitcontrol.org/wp-content/uploads/2007/09/sample-buttons-pieces.png" class="no_resize" alt="Sample Button's Pieces" height="23" width="270"></p>
<p>Essentially, the script does some error checking on the string, sanitizes it based on business rules, then generates and issues the following command to the ImageMagick binaries:</p>
<pre>
	<code>
convert +append left_cap.png s.png _a.png _m.png _p.png _l.png _e.png space.png _b.png _u.png _t.png _t.png _o.png _n.png right_cap.png sample_button.png
	</code>
</pre>
<p><img src="http://www.bitcontrol.org/wp-content/uploads/2007/09/sample-button-single.png" class="no_resize" alt="Sample Button Single" height="24" width="102"></p>
<p>After the script is you done end up with a complete button that was created in a fraction of a second but still retains the benefits of using a graphical element.  Please be sure to use accessible HTML with graphical buttons so that screen readers can &#8220;view&#8221; the site properly.  A good example would be as follows:</p>
<pre>
	<code class="html">
&lt;button type="submit" title="This is a sample button" id="sample_button_id"  class="btn_sample_button"&gt;&lt;span&gt;Sample Button&lt;/span>&lt;/button&gt;
	</code>
</pre>
<p>With the following CSS to hide the text when the browser is rendering CSS, but to show a valid button when it is not:</p>
<pre>
	<code class="css">
button span {
	display: none;
}
	</code>
</pre>
<p>Taking this concept a bit further, you could most likely use the same method I describe in combination with ImageMagick to create button assets on the fly.  I fear that the overhead of creating such assets on the fly wouldn&#8217;t be enough to outweigh the benefit of being able to cache static assets on a large enterprise site, thus the reason I haven&#8217;t fully explored it.  If someone does end up going that route, please drop me a note in the comments and let me know about it.</p>
<p>Below is the Ruby script I wrote to generate the buttons from the image slices, this could easily be done in a bash shell script or any of the other various options:</p>
<pre>
	<code class="ruby">
#!/usr/bin/env ruby
# make_button.rb by Ryan Orr

if ARGV[1] != nil
  puts "You have multiple arguments, this means you probably forgot to put \"\" around your button name. Please try again."
  exit 1
elsif ARGV[0] != nil
  # Buesiness Rule: Buttons should start with a capital letter, and
  #                 the only valid characters are A-Z, a-z, (space),
  #                 (comma), &amp; and ?
  button_text = ARGV[0].capitalize.gsub(/[^A-Za-z ,?&amp;]/,'')
else
  puts "You need to pass in a string"
  exit 1
end

counter = 0
string  = "convert +append left_cap.png "
filename = ""

until counter == button_text.length
  b = button_text[counter,1]

  case b
  when b[/[a-z]/]
    string += "_#{b.downcase}.png "
    filename += "#{b.downcase}"
  when b[/[A-Z]/]
    string += "#{b.downcase}.png "
    filename += "#{b.downcase}"
  when "?"
    string += "question_mark.png "
  when "&amp;"
    string += "ampersand.png "
  when ","
    string += "comma.png "
  when " "
    string += "space.png "
    filename += "_"
  end
  counter += 1
end

filename = "#{filename.gsub(/[^A-Za-z_]/,'')}.png"
string += "right_cap.png #{filename}"

`#{string}` # Run the command that we've built
	</code>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bitcontrol.org/2007/09/25/automating-the-creation-of-graphic-buttons/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Five sentence e-mail replies</title>
		<link>http://www.bitcontrol.org/2007/08/29/five-sentence-e-mail-replies/</link>
		<comments>http://www.bitcontrol.org/2007/08/29/five-sentence-e-mail-replies/#comments</comments>
		<pubDate>Wed, 29 Aug 2007 14:20:53 +0000</pubDate>
		<dc:creator>Ryan Orr</dc:creator>
		
		<category><![CDATA[Productivity]]></category>
<category>5 sentences</category><category>email</category><category>email management</category><category>guy kawaski</category><category>mike davidson</category><category>productivity</category><category>signature file</category>
		<guid isPermaLink="false">http://www.bitcontrol.org/2007/08/29/five-sentence-e-mail-replies/</guid>
		<description><![CDATA[
Email replies are one of the aspects of email management that I struggle with.  The problem isn&#8217;t that I don&#8217;t known what to say in response, but rather there is too much for me to say and the task of replying to 20, 30 or 40 emails a day seems like a daunting time-suck. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.bitcontrol.org/wp-content/uploads/2007/08/5-sentences.gif" alt="5 Sentences"/></p>
<p>Email replies are one of the aspects of email management that I struggle with.  The problem isn&#8217;t that I don&#8217;t known what to say in response, but rather there is too much for me to say and the task of replying to 20, 30 or 40 emails a day seems like a daunting time-suck.  Taking a proactive step towards better email productivity, I have been experimenting with some advice from a <a target="_blank" href="http://blog.guykawasaki.com/2006/08/ten_things_to_l.html">Guy Kawaski post dated a year ago</a>:</p>
<blockquote><p>
<strong>How to write a five-sentence email.</strong> Young people have an advantage over older people in this area because older people (like me) were taught to write letters that were printed on paper, signed, stuck in an envelope, and mailed. Writing a short email was a new experience for them. Young people, by contrast are used to IMing and chatting. If anything, theyâ€™re too skilled on brevity, but itâ€™s easier to teach someone how to write a long message than a short one. Whether UR young or old, the point is that the optimal length of an email message is five sentences. All you should do is explain who you are, what you want, why you should get it, and when you need it by.
</p></blockquote>
<p>The advice is simple and seems logical, but it doesn&#8217;t necessarily seems realistic at times.  I&#8217;ve used the 5 sentences rule off and on for about 6 months and I&#8217;ve started to notice that people sometimes regard the email as curt in tone resulting in an unspoken misunderstanding.  Along comes <a herf="http://five.sentenc.es/">five.sentenc.es</a>, created by Mike Davidson as a URL to place into your signature file, politely explaining the 5 sentences rule to your recipients.</p>
<p>I haven&#8217;t yet put this into play, but I&#8217;d imagine it&#8217;ll cause some confusion at first; in due time people will come to expect clear concise responses, at least I hope.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitcontrol.org/2007/08/29/five-sentence-e-mail-replies/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
