<?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>skettle.com &#187; Apple</title>
	<atom:link href="http://skettle.com/category/apple/feed/" rel="self" type="application/rss+xml" />
	<link>http://skettle.com</link>
	<description>The Blog Is Not The Point</description>
	<lastBuildDate>Fri, 25 Jun 2010 05:24:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>iPhone Blogging</title>
		<link>http://skettle.com/2008/07/22/iphone-blogging/</link>
		<comments>http://skettle.com/2008/07/22/iphone-blogging/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 04:21:38 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://skettle.com/2008/07/22/iphone-blogging/</guid>
		<description><![CDATA[I&#8217;m writing a blog entry from my iPhone. I might just be the biggest douchebag I know.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m writing a blog entry from my iPhone.  I might just be the biggest douchebag I know. </p>
]]></content:encoded>
			<wfw:commentRss>http://skettle.com/2008/07/22/iphone-blogging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eight Months?!</title>
		<link>http://skettle.com/2008/07/22/eight-months/</link>
		<comments>http://skettle.com/2008/07/22/eight-months/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 03:38:07 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://skettle.com/2008/07/22/eight-months/</guid>
		<description><![CDATA[I couldn&#8217;t log into my WordPress installation, and it seems to have taken me about eight months to finally get around to figuring out what the problem was&#8230; Actually, I don&#8217;t know what the problem was. I removed the plugins from the directory on the server, and it finally started to work. It&#8217;ll probably be [...]]]></description>
			<content:encoded><![CDATA[<p>I couldn&#8217;t log into my WordPress installation, and it seems to have taken me about eight months to finally get around to figuring out what the problem was&#8230; </p>
<p>Actually, I don&#8217;t know what the problem was.  I removed the plugins from the directory on the server, and it finally started to work.  It&#8217;ll probably be another three years before I get around to figuring out which plugin caused the problem.  No matter- I really just wanted to try out the new <a href="http://iphone.wordpress.org/">WordPress iPhone App</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://skettle.com/2008/07/22/eight-months/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AppleScript Code for Converting an AVI to an MP4 in QuickTime Pro</title>
		<link>http://skettle.com/2007/11/19/applescript-code-for-converting-an-avi-to-an-mp4/</link>
		<comments>http://skettle.com/2007/11/19/applescript-code-for-converting-an-avi-to-an-mp4/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 12:38:10 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[S.A.S.Q.]]></category>

		<guid isPermaLink="false">http://skettle.com/2007/11/19/applescript-code-for-converting-an-avi-to-an-mp4/</guid>
		<description><![CDATA[Anther Simple Answer to a Specific Quesion: As part of my ongoing obsession with converting and storing video on the Mac, one of the obvious tools I&#8217;ve looked at for converting from .avi files .mp4 files QuickTime. Assuming you can get your video to play (hint: http://www.divx.com/), Quicktime Pro has an Export feature that produces [...]]]></description>
			<content:encoded><![CDATA[<p>Anther Simple Answer to a Specific Quesion:</p>
<p>As part of my ongoing obsession with converting and storing video on the Mac, one of the obvious tools I&#8217;ve looked at for converting from .avi files .mp4 files QuickTime.  Assuming you can get your video to play (hint: <a href="http://www.divx.com/" target="_new">http://www.divx.com/</a>), Quicktime Pro has an Export feature that produces very acceptable video using the H.264 codec.  </p>
<p>Since there didn&#8217;t seem to be any mechanism for batch processing, I looked into using Applescript to automate the task.  I found numerous examples online that <i>almost</i> did what I needed, but nothing that was exactly right.  In every case, the format was wrong, and the script in question did way more than I wanted.  So here&#8217;s the bare bones, stripped down AppleScript code for&#8230;</p>
<p>&#8230;saving MPEG4 export settings to an external file:</p>
<pre>
tell app "QuickTime Player"
    tell first movie
        save export settings for MPEG4 to file "Users:yourname:MPEG4 Settings"
    end tell
end tell
</pre>
<p>&#8230;and converting an .avi file to an .mp4 using a saved external settings file:</p>
<pre>
tell application "QuickTime Player"
    activate
    close every window
end tell
tell application "QuickTime Player"
    open "Data:Upload:Harvey Birdman - 4x02 - Incredible Hippo.avi"
    if (can export front movie as MPEG4) then
        set theTime to duration of front movie
        with timeout of theTime seconds
            export front movie to ("Data:Upload:Harvey Birdman - 4x02 - Incredible Hippo.mp4") as MPEG4 using settings file "Users:yourname:MPEG4 Settings"
        end timeout
    end if
end tell
quit application "Quicktime Player"
</pre>
]]></content:encoded>
			<wfw:commentRss>http://skettle.com/2007/11/19/applescript-code-for-converting-an-avi-to-an-mp4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to set a value as &#8220;Primary&#8221; in the Mac Address Book</title>
		<link>http://skettle.com/2007/10/22/how-to-set-a-value-as-primary-in-the-mac-address-book/</link>
		<comments>http://skettle.com/2007/10/22/how-to-set-a-value-as-primary-in-the-mac-address-book/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 01:14:05 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[S.A.S.Q.]]></category>

		<guid isPermaLink="false">http://skettle.com/2007/10/22/how-to-set-a-value-as-primary-in-the-mac-address-book/</guid>
		<description><![CDATA[Another Simple Answer to a Specific Question: As of OS X 10.4.10, at least, the Mac Address has the concept of &#8220;Primary&#8221; email addresses, phone numbers and street addresses for each contact, but you cannot change them unless you install a plug-in.]]></description>
			<content:encoded><![CDATA[<p>Another Simple Answer to a Specific Question:</p>
<p>As of OS X 10.4.10, at least, the Mac Address has the concept of &#8220;Primary&#8221; email addresses, phone numbers and street addresses for each contact, but you cannot change them unless you <a href="http://mac.rbytes.net/cat/mac/utilities/set-primary-addresses/">install a plug-in</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://skettle.com/2007/10/22/how-to-set-a-value-as-primary-in-the-mac-address-book/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My First Digg</title>
		<link>http://skettle.com/2007/10/21/my-first-digg/</link>
		<comments>http://skettle.com/2007/10/21/my-first-digg/#comments</comments>
		<pubDate>Mon, 22 Oct 2007 03:19:44 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://skettle.com/2007/10/21/my-first-digg/</guid>
		<description><![CDATA[The other day, for the first time, I felt like I had something interesting and timely to say, so I submitted the story to Digg. Yeah, it was weak, but I read Digg regularly, and was curious about what would happen. It turns out, not much: I got a few hits and a handful of [...]]]></description>
			<content:encoded><![CDATA[<p>The other day, for the first time, I felt like I had something interesting and timely to say, so I <a href="http://digg.com/apple/Buy_a_new_Mac_now_to_avoid_having_to_pay_for_Leopard_on_your_old_Macs">submitted the story to Digg</a>.  Yeah, it was weak, but I read Digg regularly, and was curious about what would happen.  It turns out, not much: I got a few hits and a handful of people yelled at me<sup>1</sup>. Fortunately, at least a few people thought it was a good idea, because I got a couple of diggs.  Which is good, because I avoided that pathetic, I-dugg-myself &#8220;1 digg&#8221;&#8230; which, I now understand, is the real reason one might not want to Digg one&#8217;s own work.  But I digress&#8230;</p>
<p>In retrospect, my title, &#8220;Buy a new Mac now to avoid having to pay for Leopard on your old Macs&#8221;, was probably my first mistake.  Not only does it sound like an ad <em>and</em> sound like piracy, it sounds like an ad <em>about</em> piracy.  In my own defense, though, I swear that it didn&#8217;t occur to me that I was advocating piracy; I thought I was just pointing out a good deal. But no, let&#8217;s be clear: you can only install your copy of OS X on a single computer unless you purchase the family pack. </p>
<p>To be fair, though, I <em>was</em> suggesting that people buy a new Mac, which, at the absolute minimum will run you <a href="http://www.apple.com/macmini/">about $600</a>&#8230; and I was suggesting it to people who <em>already own at least one Mac</em>.   In other words, even if you&#8217;ve already made a significant financial investment, and you make an additional financial investment, it&#8217;s still piracy; people will yell at you if you suggest it.</p>
<p>This is why people hate Mac users.</p>
<ol class="footnotes"><li id="footnote_0_59" class="footnote">Which actually sounds like the Internet in a nutshell, now that I think about it</li></ol>]]></content:encoded>
			<wfw:commentRss>http://skettle.com/2007/10/21/my-first-digg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buy a new Mac now to avoid having to pay for Leopard on your old Macs</title>
		<link>http://skettle.com/2007/10/20/buy-a-new-mac-to-avoid-having-to-pay-for-leopard-on-your-old-macs/</link>
		<comments>http://skettle.com/2007/10/20/buy-a-new-mac-to-avoid-having-to-pay-for-leopard-on-your-old-macs/#comments</comments>
		<pubDate>Sun, 21 Oct 2007 04:53:28 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://skettle.com/2007/10/20/buy-a-new-mac-to-avoid-having-to-pay-for-leopard-on-your-old-macs/</guid>
		<description><![CDATA[If you&#8217;re thinking about buying a new Mac, do it now to avoid having to buy Leopard separately to upgrade your older Macs. I just bought a new mini to replace my ailing Windows PC, and it came with a model-specific install/restore disc labeled &#8220;Mac mini: Mac OS X Install Disc&#8221;. Had I waited and [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re thinking about buying a new Mac, do it now to avoid having to buy Leopard separately to upgrade your older Macs.</p>
<p>I just bought a new mini to replace my ailing Windows PC, and it came with a model-specific install/restore disc labeled &#8220;Mac mini: Mac OS X Install Disc&#8221;.  Had I waited and bought a machine that shipped with Leopard, I wouldn&#8217;t be able to use that disc to upgrade my Quicksilver, my Powerbook, or (presumably) my old G4 mini.  If I wanted to update those machines, I would be forced to spend $120 on a retail copy.  </p>
<p>However, through December 31st Apple is <a href="http://www.apple.com/macosx/uptodate/">offering a copy of Leopard for $10</a> to anyone who purchases a new Mac that comes with Tiger.  If history is any indication, that disc should work for all models, and you&#8217;ll save $110.</p>
<p><b>Updated 10/21/2007:</b> It&#8217;s been pointed out to me that, assuming that the Leopard software license matches the <a href="http://images.apple.com/legal/sla/docs/macosx104.pdf">Tiger software license (PDF)</a>, installing this on more than one machine would be considered piracy, so I no longer officially advocate this course of action.  Apologies to Apple, and to all the people who worked hard to make OS X a great operating system.</p>
]]></content:encoded>
			<wfw:commentRss>http://skettle.com/2007/10/20/buy-a-new-mac-to-avoid-having-to-pay-for-leopard-on-your-old-macs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Removing Duplicate Files from iTunes</title>
		<link>http://skettle.com/2007/09/29/removing-duplicate-files-from-itunes/</link>
		<comments>http://skettle.com/2007/09/29/removing-duplicate-files-from-itunes/#comments</comments>
		<pubDate>Sun, 30 Sep 2007 01:08:40 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://skettle.com/2007/09/29/removing-duplicate-files-from-itunes/</guid>
		<description><![CDATA[While iTunes has its issues, for the most part it makes for a fairly passable media organizer. As long as I let it do its job, I&#8217;m pretty happy with how it handles the files on the backend. When I moved my iTunes library to a new external drive, however, I came across a pretty [...]]]></description>
			<content:encoded><![CDATA[<p>While iTunes has its issues, for the most part it makes for a fairly passable media organizer.  As long as I let it do its job, I&#8217;m pretty happy with how it handles the files on the backend. When I moved my iTunes library to a new external drive, however, I came across a pretty egregious &#8220;bug&#8221; that left me with thousands of duplicate files and no good way to remove them.</p>
<p>By default, iTunes stores files in &#8220;/Users/<username>/Music/iTunes/iTunes Music&#8221;.  When you drag and drop a file from your desktop, or wherever, it copies the file into this directory, tossing it into a subdirectory based on Artist and Album name and renaming it according to the track info you specify in iTunes.  When you change the Album name or Track name, the file is is updated and moved automatically, so the location and name of the file always reflect what you see in iTunes.  Personally, I like this behavior.</p>
<p>I didn&#8217;t run into problems until I attempted to move my files from the default directory to a directory on my new drive, a 500G firewire affair.  At first, everything worked properly when I changed the settings; it took while, but it slowly copied all the the files to the new location, &#8220;/Data/iTunes&#8221;, and once it was done, everything was great.  And everything remained great until I made the mistake of opening iTunes while my new drive was unmounted.  </p>
<p>Little did I know that when iTunes couldn&#8217;t find &#8220;/Data/iTunes&#8221;, the new directory, it changed itself back to its default: &#8220;/Users/<username>/Music/iTunes/iTunes Music&#8221;. Upon finding all the files still there, it quickly settled in and changed all the entries in the database to point to these files.  When I finally realized what had happened, I remounted the new drive and changed the iTunes directory again- and that&#8217;s when all my troubles began.</p>
<p>iTunes once again began to copy my files to new the drive- only this time, the files already existed. Rather than simply use the existing files, it created new copies, appended with &#8221; 1&#8243;, and I was left with several thousand duplicate files and no easy way to remove them.</p>
<p>To deal with this issue, I wrote a simple PHP script to crawl through my iTunes directory and deal with files that end in &#8221; 1&#8243;.  In the case where both files exist (with and without &#8221; 1&#8243;), the script compares the two files.  If they are identical, it tries to rectify the situation by removing the old file and re-adding the remaining file to iTunes using osascript, OS X&#8217;s command line Applescript tool.  Adding the file triggers iTunes to automatically rename the file properly, thus removing the &#8221; 1&#8243;.  By default, you&#8217;re prompted before any file is deleted.  You can disable this by hitting &#8216;a&#8217; at the prompt.</p>
<p>In the case where the two files are not equal, they are skipped.  You&#8217;re going to have to deal with those manually. Sorry.  It also has problems with files that contain special characters.  You&#8217;ll have to deal with those as well&#8230; but come on- how many Blue Öyster Cult, Mötley Crüe or Björk songs do you have, anyway?</p>
<p>In the case where only one file exists, it will simply re-add the file to iTunes, on the theory that iTunes will fix it if the name is wrong, and ignore it otherwise.</p>
<h2>fix_itunes_dupes.php</h2>
<pre>
#!/usr/bin/php
&lt;?php
<code markup="none">
/*
* Name: fix_itunes_dupes.php
* Author: patrick
* Usage: fix_itunes_dupes.php
*
* This script is provided AS-IS.  No warranty is either expressed or implied.
* Use at your own risk.
* Feel free to use, modify, duplicate, or take credit.
*/
// Set this variable to your iTunes directory.
$itunes_dir = "/Users/{$_ENV['USER']}/Music/iTunes/iTunes Music";

if (!file_exists($itunes_dir)) {
    exit("{$itunes_dir} does not exist.");
}

// Collect itunes files that end in " 1".
$find = "find \\"{$itunes_dir}\\" -type f -name \\"* 1.*\\"";
$files = explode("\n", `$find`);
$file_count = count($files) - 1;
// 'find' comes with a bonus carriage return.  Get rid of it or try to remove
// '.' (that's bad).
unset($files[$file_count]);
// Set some defaults.
$all = false;
$count = 0;

// Loop through the files.
foreach ($files as $file1) {
    $count++;
    print "Processing {$count}/{$file_count}:\n";
    // Skip Movies and TV Shows.
    if (preg_match("/\/Movies\//", $file1) || preg_match("/\/TV Shows\//", $file1)) {
        print "Skipping TV Show or Movie:\n";
        print "{$file1}\n";
    } else {
        preg_match("/^(.+) [0-9].([^.]+)$/", $file1, $matches);
        $file = "{$matches[1]}.{$matches[2]}";
        if (file_exists($file)) {
            $md5 = md5(file_get_contents($file));
            $md51 = md5(file_get_contents($file1));
            print "{$file} ({$md5})\n";
            print "{$file1} ({$md51})\n";
            if ($md5 == $md51) {
                // If the two files are identical, we can space one of them.
                print "{$file} = {$file1}\n";
                if (!$all) {
                    // Options are:
                    //  y - delete the file. default.
                    //  n - skip this file.
                    //  a - stop asking, just do them all.
                    //  q - quit.
                    print "Delete? [Y/n/a/q]: ";
                    $char = substr(fgets(STDIN), 0, 1);
                }
                if ($char == "q") {
                    exit;
                } elseif ($char != "n") {
                    if ($char == "a") {
                        $all     = true;
                    }
                    print "Deleting {$file}\n";
                    unlink($file);
                    add2itunes($file1);
                }
            } else {
                print "Files do not match.  Skipping.\n";
            }
        } else {
            // There is only one file; go ahead and add it to iTunes-
            // shouldn't hurt.
            print "{$file1} exists on its own.\n";
            add2itunes($file1);
        }
    }
    print "\n";
}

function add2itunes($file) {
    $file = preg_replace("/\//", ":", $file);
    // Please forgive the toothpicks- numerous files have 's.
    $command = "osascript -e \\"tell application \\\\"iTunes\\\\" to add file \\\\"{$file}\\\\" to playlist \\\\"Library\\\\" of source \\\\"Library\\\\"\\"\n";
    print $command;
    passthru($command);
    return;
}
</code>
?&gt;
</pre>
<h2>Sample Output</h2>
<pre lang="bash">Processing 31/39:
/Data/iTunes/The Beastie Boys/Licensed To Ill/13 Time to Get Ill.m4a (42cbc19b9d2feb83899201793ee1e00e)
/Data/iTunes/The Beastie Boys/Licensed To Ill/13 Time to Get Ill 1.m4a (e2f49dfc12db5fb8f8d3954b9671870c)
Files do not match.  Skipping.</pre>
<pre lang="bash">Processing 32/39:
/Data/iTunes/The Bloodhound Gang/One Fierce Beer Coaster/07 Asleep at the Wheel.mp3 (6d12ce65c4cba6748224e2262feba67a)
/Data/iTunes/The Bloodhound Gang/One Fierce Beer Coaster/07 Asleep at the Wheel 1.mp3 (6d12ce65c4cba6748224e2262feba67a)
/Data/iTunes/The Bloodhound Gang/One Fierce Beer Coaster/07 Asleep at the Wheel.mp3 = /Data/iTunes/The Bloodhound Gang/One Fierce Beer Coaster/07 Asleep at the Wheel 1.mp3
Delete? [Y/n/a/q]: y
Deleting /Data/iTunes/The Bloodhound Gang/One Fierce Beer Coaster/07 Asleep at the Wheel.mp3
osascript -e "tell application \"iTunes\" to add file \":Data:iTunes:The Bloodhound Gang:One Fierce Beer Coaster:07 Asleep at the Wheel 1.mp3\" to playlist \"Library\" of source \"Library\""
file track id 53184</pre>
<pre lang="bash">Processing 33/39:
Skipping TV Show or Movie:
/Data/iTunes/TV Shows/Battlestar Galactica/3-03 Exodus_ Part 1.mp4</pre>
]]></content:encoded>
			<wfw:commentRss>http://skettle.com/2007/09/29/removing-duplicate-files-from-itunes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Video Server, Part 3: Encoding</title>
		<link>http://skettle.com/2007/09/14/video-server-part-3-encoding/</link>
		<comments>http://skettle.com/2007/09/14/video-server-part-3-encoding/#comments</comments>
		<pubDate>Fri, 14 Sep 2007 21:00:18 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iTunes/AppleTV Video Server]]></category>

		<guid isPermaLink="false">http://skettle.com/2007/09/14/video-server-part-3-encoding/</guid>
		<description><![CDATA[This is the third in a series of articles that will detail the tools and methods I&#8217;m using for my personal media server at home. Part 3: Encoding gets to the meat of the matter, and finally addresses how to turn the DVD into a video file. Future articles will detail converting, integration and disaster [...]]]></description>
			<content:encoded><![CDATA[<p><strong>This is the third in a series of articles that will detail the tools and methods I&#8217;m using for my personal media server at home. Part 3: Encoding gets to the meat of the matter, and finally addresses how to turn the DVD into a video file. Future articles will detail converting, integration and disaster management.</strong></p>
<p>Encoding is where all magic happens. The data on the DVD is finally converted to a standalone file to be used in other applications. This is also where most of the confusion lay, where incompatibilities creep in, and where most of the time is spent waiting for the computer to finish something. This time spent waiting is also what makes trial and error such a bitch; depending on your setup, you may have to wait as long as four hours to find out if the file you generated is any good, or if it will work in with your chosen application.</p>
<p>Right up front, let me say that I&#8217;m no expert on this subject.  I had one goal: decent quality movies at a reasonable size that worked in iTunes.  There are a ton of videophiles out there who argue about this codec or that codec, and Dolby digital sound vs. whatever regular old sound is called, but when it comes down to it, I&#8217;m interested in convenience and watchability above all else.  That being said, though, this method produces a file that&#8217;s indistinguishable from DVD, at least to my eyes.</p>
<p>One more caveat, before I delve into the minutiae.  I&#8217;m going to go through all of the options I set for encoding, but there are a number of places where I didn&#8217;t make a conscious decision to do it one way or the other, and I don&#8217;t know if changing it will make any difference.  For example, in one case I turn auto-cropping on, because I suspected that leaving it off would give me black bars along the top and bottom of my image.  I never tried changing it, though, because the settings I&#8217;m using give me the results I want.</p>
<p>I played around with a number of different packages on both Mac and PC before I finally ended up using <a href="http://handbrake.m0k.org/" title="Handbrake image encoding software." target="_blank">Handbrake</a> v0.9.0 on the PC, a free, open-source, cross-platform package that used to be exclusively for the Mac, but eventually went both ways.  It&#8217;s not super-fast, but it produces an excellent quality video and is fully operational from the command line; in fact, from what I can tell the GUI is just tacked on to make it easier to build the command line parameter list.  In the interest of gratuitous multi-media, however, I&#8217;m going to go through configuration using the GUI before recommending you abandon it altogether.</p>
<p><strong>Step 1: Choose your source directory.</strong></p>
<p>The first step, once you start the program, is to choose the directory where you stored your DVD rip.  You can find more information on ripping in <a href="http://skettle.com/2007/09/08/video-server-part-2-ripping/" title="Video Server, Part 2: Ripping" target="_blank">Part 2</a> of this series.  This example is based on where the files would be after following that tutorial, or F:\FullDisc\JURASSICDTS\VIDEO_TS\.</p>
<p style="text-align: center"><a href="http://skettle.com/wordpress/wp-content/uploads/2007/09/hb-1.jpg" title="Handbrake 1"><img src="http://skettle.com/wordpress/wp-content/uploads/2007/09/hb-1.thumbnail.jpg" title="Fig 1: Choose your source files." alt="Fig 1: Choose your source files." border="0" /></a></p>
<p><strong>Step 2: Choose AppleTV  from the presets:</strong></p>
<p>From the menu bar, choose AppleTV from the preset menu.  This will set a number of options.</p>
<p style="text-align: center"><a href="http://skettle.com/wordpress/wp-content/uploads/2007/09/hb-2.jpg" title="Handbrake 2"><img src="http://skettle.com/wordpress/wp-content/uploads/2007/09/hb-2.thumbnail.jpg" title="Fig 2: Choose AppleTV from the presets." alt="Fig 2: Choose AppleTV from the presets." border="0" /></a></p>
<p><strong>Step 3: Choose the destination and cropping options.</strong><br />
When you specify the destination file through the Browse menu, Handbrake will automatically change the file extension to .m4v, the default file extension for Apple&#8217;s movie files. Since a number of my post-encoding scripts were written to use .mp4 files, and I have hundreds of other files with that extension, I change it back to .mp4.  This seems to work fine.  Under the &#8220;Picture Settings&#8221; tab, set Cropping to &#8220;Auto Cropping&#8221;.</p>
<p style="text-align: center" align="center"><a href="http://skettle.com/wordpress/wp-content/uploads/2007/09/hb-3.jpg" title="Handbrake 3"><img src="http://skettle.com/wordpress/wp-content/uploads/2007/09/hb-3.thumbnail.jpg" title="Fig 3: Set the destination file and the cropping." alt="Fig 3: Set the destination file and the cropping." border="0" /></a></p>
<p><strong>Step 4: Change the bitrate.</strong><br />
Change to the &#8220;Video Settings&#8221; tab and change the bitrate to 1024. I&#8217;ve found this bitrate produces excellent results and a file size of around a Gig for most movies.  As far as I know, the value 1024 has no special meaning in this context- it just seemed computer-y.</p>
<p style="text-align: center"><a href="http://skettle.com/wordpress/wp-content/uploads/2007/09/hb-4.jpg" title="Handbrake 4"><img src="http://skettle.com/wordpress/wp-content/uploads/2007/09/hb-4.thumbnail.jpg" title="Fig 4: Change the bitrate." alt="Fig 4: Change the bitrate." border="0" /></a></p>
<p><strong>Step 5: Ditch the GUI.</strong><br />
The last tab, &#8220;Query Editor&#8221;, has button labeled &#8220;Generate Query Now&#8221;, which will give you the command line options based on your settings. I recommend you copy this text and run Handbrake from the command line:</p>
<p align="left"><code>C:\Program Files\Handbrake\hbcli.exe -i "F:\FullDisc\JURASSICDTS\VIDEO_TS" -o "E:\Upload\Jurassic Park.mp4" -e x264 -E faac -p -m -b 1024 -x bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=2 -B 160 -R 48</code></p>
<p>&#8230; or, if you&#8217;re running <a href="http://www.cygwin.com/" title="GNU + Cygnus + Windows = Cygwin" target="_blank">Cygwin</a>, which I also recommend:</p>
<p align="left"><code>/cygdrive/c/Program\ Files/Handbrake/hbcli.exe -i "F:\FullDisc\JURASSICDTS\VIDEO_TS" -o "E:\Upload\Jurassic Park.mp4" -e x264 -E faac -p -m -b 1024 -x bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=2 -B 160 -R 48</code></p>
<p style="text-align: center"><a href="http://skettle.com/wordpress/wp-content/uploads/2007/09/hb-5.jpg" title="Handbrake 5"><img src="http://skettle.com/wordpress/wp-content/uploads/2007/09/hb-5.thumbnail.jpg" title="Fig 5: Generate the query if you want to run it from the command line instead" alt="Fig 5: Generate the query if you want to run it from the command line instead" border="0" /></a></p>
<p>At this point you&#8217;ve got a nice file that you can drag into iTunes and watch on your AppleTV.  A word of caution, though: on my machine, this process will occasionally fail with a segmentation fault after two to four DVDs. Rebooting and restarting the process works for me.</p>
<p>In the next entry in this series, I will go deal with converting existing files into MP4 files, mostly for dealing with downloaded TV Shows, and after that I will address adding meta-data, such as artwork and plot descriptions, to make your videos pretty.  Stay tuned for that- there will be scripts.</p>
]]></content:encoded>
			<wfw:commentRss>http://skettle.com/2007/09/14/video-server-part-3-encoding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No Thumbnail for an Uploaded Image in WordPress</title>
		<link>http://skettle.com/2007/09/13/no-thumbnail-for-an-uploaded-image-in-wordpress/</link>
		<comments>http://skettle.com/2007/09/13/no-thumbnail-for-an-uploaded-image-in-wordpress/#comments</comments>
		<pubDate>Thu, 13 Sep 2007 14:26:28 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[S.A.S.Q.]]></category>

		<guid isPermaLink="false">http://skettle.com/2007/09/13/no-thumbnail-for-an-uploaded-image-in-wordpress/</guid>
		<description><![CDATA[A Short Answer to a Specific Question: If you upload an image in WordPress, and you don&#8217;t get the option to &#8220;Show Thumbnail&#8221; in the &#8220;Send to Editor&#8221;, it&#8217;s probably because the image was too big. Also: there is no good way to resize an image in iPhoto. A free tool to resize images on [...]]]></description>
			<content:encoded><![CDATA[<p>A Short Answer to a Specific Question:</p>
<p>If you upload an image in WordPress, and you don&#8217;t get the option to &#8220;Show Thumbnail&#8221; in the &#8220;Send to Editor&#8221;, it&#8217;s probably because the image was too big.</p>
<p>Also: there is no good way to resize an image in iPhoto.</p>
<p>A free tool to resize images on the Mac is <a href="http://xtralean.com/index.html" title="A free tool for resizing images on the Mac.">ImageWell</a>, from XtraLean Software.</p>
]]></content:encoded>
			<wfw:commentRss>http://skettle.com/2007/09/13/no-thumbnail-for-an-uploaded-image-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Video Server, Part 2: Ripping</title>
		<link>http://skettle.com/2007/09/08/video-server-part-2-ripping/</link>
		<comments>http://skettle.com/2007/09/08/video-server-part-2-ripping/#comments</comments>
		<pubDate>Sat, 08 Sep 2007 17:00:33 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iTunes/AppleTV Video Server]]></category>

		<guid isPermaLink="false">http://skettle.com/2007/09/08/video-server-part-2-ripping/</guid>
		<description><![CDATA[This is the second in a series of articles that will detail the tools and methods I&#8217;m using for my personal media server at home. Part 2: Ripping is all about getting data off the DVD and onto the computer. Future articles will detail encoding, converting, integration and disaster management. Note: For the record that [...]]]></description>
			<content:encoded><![CDATA[<p><strong>This is the second in a series of articles that will detail the tools and methods I&#8217;m using for my personal media server at home. Part 2: Ripping is all about getting data off the DVD and onto the computer.  Future articles will detail encoding, converting, integration and disaster management.</strong></p>
<p>Note: For the record that I believe ripping data from DVD movies you do not own is illegal, and I do not support it.<sup>1</sup>  If you enjoy a movie, buy it, and support the people who created it&#8230; even if entire industry is a bunch of greedy douchebags.</p>
<p>For a while, I didn&#8217;t even realize ripping was a thing.  I was playing around with different encoding tools, and they all worked the same way: stick the DVD in, twiddle some stuff, and the program read from the disc and wrote to a file.  Most of the time, this worked.  More and more often, though, I would encounter a problem; either the problem wouldn&#8217;t ready my disk, or it would encode about 20 seconds of data and hang.  After some research, I eventually discovered something I already knew: most DVDs are encrypted.  This is why you can&#8217;t just put in a disc and copy the files off it, even though if you explore you can see them clear as day.</p>
<p>I found the solution was a separate program designed to read the DVD and store an unencrypted copy on the harddrive.  After some trial and error, I&#8217;ve had great results with <a href="http://www.dvdfab.com/free.htm" target="new">DVDFab HD Decrypter</a>.  Not only is it free and reliable, it&#8217;s dirt simple.</p>
<p>Ripping the data to the hard drive separately also has additional benefits: it may cut down on the wear and tear on the DVD-Rom<sup>2</sup>, as ripping takes considerably less time than encoding, and after the initial rip, you can encode without having to be physically present at the machine, or re-encode if something goes wrong.</p>
<p align="center"> <a href="http://skettle.com/wordpress/wp-content/uploads/2007/09/dvdfabhd-1.jpg" title="DVDFab HD - 1"><img src="http://skettle.com/wordpress/wp-content/uploads/2007/09/dvdfabhd-1.thumbnail.jpg" title="DVDFab HD - 1" alt="DVDFab HD - 1" border="0" /></a></p>
<p>Insert the disc, wait for the chapter data to load, and hit &#8220;Start&#8221;.  If it&#8217;s the first time you&#8217;re running the program, also specify the Target: directory.</p>
<p align="center"> <a href="http://skettle.com/wordpress/wp-content/uploads/2007/09/dvdfabhd-2.jpg" title="DHDFab HD - 2"><img src="http://skettle.com/wordpress/wp-content/uploads/2007/09/dvdfabhd-2.thumbnail.jpg" title="DHDFab HD - 2" alt="DHDFab HD - 2" border="0" /></a></p>
<p>The process usually takes between 10 and 20 minutes.</p>
<p>Afterward, you will find a subdirectory in the FullDisc directory in the Target directory: &lt;Target&gt;/FullDisc/&lt;DVD&gt;.  In the above example, the data I want is in F:\FullDisc\BLUSBRO\VIDEO_TS\.</p>
<p>I don&#8217;t do a lot of ripping on the Mac, but the few time I have, I&#8217;ve had good luck with <a href="http://www.mactheripper.org/" target="new">Mac the Ripper</a>.</p>
<p>Next Up: <a href="http://skettle.com/2007/09/14/video-server-part-3-encoding/">Encoding</a>.</p>
<ol class="footnotes"><li id="footnote_0_20" class="footnote">I am not a lawyer, so I don&#8217;t know this for a fact. I think I saw it online and I&#8217;m repeating it here just in case it&#8217;s true.</li><li id="footnote_1_20" class="footnote">I also have no proof of this, it&#8217;s just one of those things that seems true. Maybe reading from a disc for 15 minutes at full-bore does more damage than reading a few bits at a time for two hours.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://skettle.com/2007/09/08/video-server-part-2-ripping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
