<?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>ScarTech &#187; Apple</title>
	<atom:link href="http://www.scartech.net/category/apple/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.scartech.net</link>
	<description>The musings of a confessed code junkie and a game geek.</description>
	<lastBuildDate>Wed, 07 Jul 2010 01:34:14 +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>Security through obscurity?</title>
		<link>http://www.scartech.net/2008/08/10/security-by-obscurity/</link>
		<comments>http://www.scartech.net/2008/08/10/security-by-obscurity/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 22:59:03 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.scartech.net/?p=169</guid>
		<description><![CDATA[Popularity has its drawbacks. As the iPhone and the Mac gain in popularity, hackers are starting to take notice. Part of the reason for increased popularity of Macintosh computers is that Apple has made the machines friendlier to running programs popular on Windows-based machines. Hackers experienced with attacking Windows programs can apply some of their [...]]]></description>
			<content:encoded><![CDATA[<p>Popularity has its drawbacks. As the iPhone and the Mac gain in popularity, hackers are starting to take notice.</p>
<blockquote><p><span class="lingo_region">Part of the reason for increased popularity of Macintosh computers is that Apple has made the machines friendlier to running programs popular on Windows-based machines.</span></p>
<p>Hackers experienced with attacking Windows programs can apply some of their know-how to software modified to run on Macintosh computers.</p>
<p>Developers that re-craft Windows programs for Macintosh systems might not be adept at building security components on the latest Leopard operating system used in Apple machines.</p>
<p>Windows developers take their code and make it work on Apple,&#8221; Hotchkies said. &#8220;They could take potential vulnerabilities with them or possibly create new ones because they are working on an entirely different platform.&#8221;</p></blockquote>
<p>I haven&#8217;t heard about any <a href="http://en.wikipedia.org/wiki/Zero_day_attack">zero-day</a> exploits to the iPhone yet (as long as you don&#8217;t count <a href="http://www.appleiphonereview.com/iphone-tutorials/iphone-jailbreak/">jailbreaking</a>), but I&#8217;m sure they&#8217;re on the way. Read the article <a href="http://www.breitbart.com/article.php?id=080810051102.njhra1ru&amp;show_article=1">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scartech.net/2008/08/10/security-by-obscurity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Air Ball</title>
		<link>http://www.scartech.net/2008/01/20/air-ball/</link>
		<comments>http://www.scartech.net/2008/01/20/air-ball/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 19:36:08 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.scartech.net/2008/01/20/air-ball/</guid>
		<description><![CDATA[I finally made it back* from the MacWorld 2008 Expo, and I figured I would share my thoughts on a couple items. First off, the $20 upgrade to the firmware for the iPod touch. Like Johnny Mac once said, &#8220;You can&#8217;t be serious!&#8221; There&#8217;s no question that Apple makes great products, but charging for a [...]]]></description>
			<content:encoded><![CDATA[<p>I finally made it back* from the <a href="http://www.macworldexpo.com/">MacWorld 2008 Expo</a>, and I figured I would share my thoughts on a couple items. First off, the <a href="http://www.engadget.com/2008/01/15/the-skinny-on-iphone-and-ipod-touch-firmware-1-1-3/">$20 upgrade</a> to the firmware for the iPod touch. Like <a href="http://en.wikipedia.org/wiki/John_McEnroe">Johnny Mac</a> once said, &#8220;You can&#8217;t be serious!&#8221; There&#8217;s no question that Apple makes great products, but charging for a firmware upgrade seems arrogant to me. Especially considering the fact that the upgrade is free for iPhone owners. Is it that much more expensive to upgrade the iPod as compared to the iPhone? Just another way to squeeze a couple bucks out of the Apple faithful.</p>
<p>Next on the chopping block. The <a href="http://www.apple.com/macbookair/">MacBook Air</a>. I love the idea of a sub-compact Apple notebook, but  this one is lacking a little. First the good. It&#8217;s beautiful, but we&#8217;ve come to expect that from Apple products. At 3lbs and 3/4 of an inch at its thickest, I love it. My current notebook is more than twice that. You can get a paltry 80 gig PATA drive or a 64 gig SSD. The solid-state drive comes at a premium price, but that&#8217;s to be expected since the drives are so new. There isn&#8217;t an optical drive included. In true Apple fashion you can pay an additional $90 for an external drive though. You can also use the optical drives on other machines, but you&#8217;re limited to <a href="http://www.google.com/url?sa=t&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FIEEE_802.11&amp;ei=VJyTR_2cKqH2gQTd9pC3DQ&amp;usg=AFQjCNEL8BtAMMn6FDjvMM4LpsXTw0kTtA&amp;sig2=gJBoe98S400UMvo1BU1IEQ">802.11N</a> speed since there isn&#8217;t an integrated Ethernet port. To me, it looks like the MacBook Air would make an awesome second machine. There isn&#8217;t enough disk space and it&#8217;s missing some things required of my main computer. The real issue is that it isn&#8217;t priced like a second machine. Pricing starts at $1799. I don&#8217;t know about you, but that&#8217;s too much for what wouldn&#8217;t make a good primary machine. Put the price point in the $1200 neighborhood, and I&#8217;m sold. With the price pushing 2 large, I just don&#8217;t think it&#8217;s a deal.</p>
<p>* <em>By making it back from MacWorld, I mean that in between work and new baby preparations I&#8217;ve caught up on the goings on at the big show in San Fran.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.scartech.net/2008/01/20/air-ball/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Attack of the Neck Beards</title>
		<link>http://www.scartech.net/2007/11/19/attack-of-the-neck-beards/</link>
		<comments>http://www.scartech.net/2007/11/19/attack-of-the-neck-beards/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 22:32:38 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.scartech.net/archives/60</guid>
		<description><![CDATA[Wow! Don&#8217;t dare say anything negative about Apple. At least if you don&#8217;t want to be flamed. Robert Scoble ranted about his bad experience with an update to the Mac OS and the long knives came out. Some people even went as far as to call Scoble a Microsoft shill!?! Do they even read this [...]]]></description>
			<content:encoded><![CDATA[<p>Wow! Don&#8217;t dare say anything negative about Apple. At least if you don&#8217;t want to be flamed. Robert Scoble <a href="http://scobleizer.com/2007/11/16/caught-in-apple-restart-hell/">ranted</a> about his bad experience with an update to the Mac OS and the <a href="http://scobleizer.com/2007/11/17/the-brand-promise-of-apple/">long knives</a> came out. Some people even went as far as to call Scoble a Microsoft shill!?! Do they even read this guy&#8217;s <a href="http://scobleizer.com/">blog</a>? The guy is <strong>not</strong> a shill for Redmond.</p>
<p>Two things will usually get the neck beards riled up:</p>
<ol>
<li>Write something negative about Apple. It doesn&#8217;t matter how valid the criticism, you&#8217;re wrong. How dare you criticize the <em>mother-company</em>.</li>
<li>Write something positive about a competitor of Apple. How dare you like the idea of a subscription based music service. Don&#8217;t you know Microsoft offers that in the <a href="http://www.zune.net/en-us/products/zunemarketplace/default.htm">Zune Marketplace</a> not the iTunes Music Store?</li>
</ol>
<p>Next up on Fox. When neck beards attack!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scartech.net/2007/11/19/attack-of-the-neck-beards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Today&#8217;s Special &#8211; Crow</title>
		<link>http://www.scartech.net/2007/11/04/todays-special-crow/</link>
		<comments>http://www.scartech.net/2007/11/04/todays-special-crow/#comments</comments>
		<pubDate>Sun, 04 Nov 2007 19:47:16 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.scartech.net/archives/39</guid>
		<description><![CDATA[I try to be a stand-up guy. If I make a mistake, I&#8217;ll be the first to admit it. Saying all that, I guess it&#8217;s time for me to eat a little crow. In a previous post I ranted about the lack of an SDK for the iPhone, but now it&#8217;s time to give credit where [...]]]></description>
			<content:encoded><![CDATA[<p><img align="left" src="http://www.scartech.net/wp-content/uploads/eatcrow.jpg" alt="eatcrow.jpg" title="eatcrow.jpg" />I try to be a stand-up guy. If I make a mistake, I&#8217;ll be the first to admit it. Saying all that, I guess it&#8217;s time for me to <a href="http://en.wikipedia.org/wiki/To_eat_boiled_crow">eat a little crow</a>. In a previous <a href="http://www.scartech.net/archives/14">post</a> I ranted about the lack of an SDK for the <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FiPhone-Missing-Manual-David-Pogue%2Fdp%2F0596513747%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1194202259%26sr%3D8-1&amp;tag=scar04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">iPhone</a>, but now it&#8217;s time to give credit where credit is due. It looks like Apple will be releasing an SDK for the iPhone and iTouch in February 2008. Third party iPhone apps can&#8217;t help but be a plus for the platform. The device is so much more <a href="http://www.apple.com/iphone/features/index.html#technology">elegant</a> than anything offered by any other smart phone, and opening it up to developers makes it even more attractive (even though its exclusive to AT&amp;T).</p>
<p>I know it seems that I like to pile on Apple and the iPhone, but that&#8217;s not the case. I&#8217;m a fan of many of Apple&#8217;s products, but I have to make sure I don&#8217;t slip into <a href="http://www.urbandictionary.com/define.php?term=fanboyism">fanboyism</a>. All I need is an <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FApple-16-GB-iPod-touch%2Fdp%2FB000JNYWBG%3Fie%3DUTF8%26s%3Delectronics%26qid%3D1194202915%26sr%3D8-1&amp;tag=scar04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">iTouch</a> to start writing that killer app. Now can someone please pass the salt. Much like this post, crow is a little bland but I&#8217;ll have mine with a little Apple.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scartech.net/2007/11/04/todays-special-crow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iTunes SDK and C# &#8211; Part 2</title>
		<link>http://www.scartech.net/2007/10/11/itunes-sdk-and-c-part-2/</link>
		<comments>http://www.scartech.net/2007/10/11/itunes-sdk-and-c-part-2/#comments</comments>
		<pubDate>Fri, 12 Oct 2007 02:40:12 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[iTunes]]></category>

		<guid isPermaLink="false">http://www.scartech.net/archives/20</guid>
		<description><![CDATA[In part one of my series on scripting iTunes using C# I showed you how to remove dead tracks from your iTunes library. Now let&#8217;s take it one step further and get rid of all those duplicate tracks you might have. For my purposes, I determined a duplicate track to be any track that has the same artist, [...]]]></description>
			<content:encoded><![CDATA[<p>In part one of my series on scripting iTunes using C# I showed you how to remove dead tracks from your iTunes library. Now let&#8217;s take it one step further and get rid of all those duplicate tracks you might have. For my purposes, I determined a duplicate track to be any track that has the same artist, album and track name as another track in the library. When I find a duplicate, I want to keep the track with a higher bitrate. iTunes will show you a list of the duplicates in your library, but I&#8217;m much to lazy to sort out what should be deleted and what shouldn&#8217;t.</p>
<p>I used a Dictionary object to store the tracks I checked with the key being the track name. If a matching name is found, then I dig a little deeper to verify that a duplicate has actually been found, then I keep the one with a higher bitrate.</p>
<p>Download the VS2008 C# Express project <a href="http://www.scartech.net/wp-content/uploads/itunescomsample2.zip">here</a>.</p>
<p>Here&#8217;s a code sample:</p>
<blockquote><p>//create a reference to iTunes <br />
iTunesAppClass iTunes = new iTunesAppClass();</p>
<p>//get a reference to the collection of all tracks<br />
IITTrackCollection tracks = iTunes.LibraryPlaylist.Tracks;</p>
<p>int trackCount = tracks.Count;<br />
Dictionary&lt;string, IITTrack&gt; trackCollection = new Dictionary&lt;string, IITTrack&gt;();<br />
ArrayList tracksToRemove = new ArrayList();</p>
<p>for (int i = trackCount; i &gt; 0; i&#8211;)<br />
{<br />
        if (tracks[i].Kind == ITTrackKind.ITTrackKindFile)<br />
        {        <br />
             string trackKey = tracks[i].Name + tracks[i].Artist + tracks[i].Album;</p>
<p>            if (!trackCollection.ContainsKey(trackKey))<br />
            {<br />
               trackCollection.Add(trackKey, tracks[i]);<br />
            }<br />
            else<br />
            {<br />
                if (trackCollection[trackKey].Album != tracks[i].Album ||<br />
                     trackCollection[trackKey].Artist != tracks[i].Artist)<br />
                {<br />
                    trackCollection.Add(trackKey, tracks[i]);<br />
                 }<br />
                 else if (trackCollection[trackKey].BitRate &gt; tracks[i].BitRate)<br />
                 {<br />
                      tracksToRemove.Add(tracks[i]);<br />
                  }<br />
                  else<br />
                  {<br />
                      tracksToRemove.Add(tracks[i]);<br />
                   }                           <br />
            }<br />
     }     <br />
}                          </p>
<p>//now remove all duplicates<br />
for (int i = 0; i &lt; tracksToRemove.Count; i++)<br />
{<br />
     tracksToRemove[i].Delete();<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.scartech.net/2007/10/11/itunes-sdk-and-c-part-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>What if Apple unlocked the iPhone?</title>
		<link>http://www.scartech.net/2007/10/03/what-if-apple-unlocked-the-iphone/</link>
		<comments>http://www.scartech.net/2007/10/03/what-if-apple-unlocked-the-iphone/#comments</comments>
		<pubDate>Thu, 04 Oct 2007 02:08:21 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.scartech.net/archives/14</guid>
		<description><![CDATA[While reading Jeff Atwood&#8217;s excellent Coding Horror blog entry today about branching and source control I had a flashback to my childhood reading Marvel comics. He mentioned the What If series, and it just got me thinking of other what if tech scenarios. The first what if I want to discuss is the iPhone. What [...]]]></description>
			<content:encoded><![CDATA[<p>While reading Jeff Atwood&#8217;s excellent Coding Horror <a href="http://www.codinghorror.com/blog/archives/000968.html">blog entry</a> today about branching and source control I had a flashback to my childhood reading Marvel comics. He mentioned the <a href="http://en.wikipedia.org/wiki/What_If_(comics)">What If</a> series, and it just got me thinking of other what if tech scenarios. The first <em>what if</em> I want to discuss is the <a href="http://www.apple.com/iphone/">iPhone</a>.</p>
<p style="text-align: center"><img src="http://www.scartech.net/wp-content/uploads/iphone.jpg" alt="iphone.jpg" /></p>
<p>What if the iPhone was unlocked? When I say <em>unlocked</em>, I&#8217;m talking about using the phone on the carrier of my choice. How nice would it be if I could go down to my <a href="http://www.verizonwireless.com/b2c/index.html">Verizon </a>store and get a new iPhone at the same time my brother goes down to his <a href="http://www.t-mobile.com/">T-Mobile</a> store and gets his. I know one is <a href="http://en.wikipedia.org/wiki/CDMA">CDMA </a>and the other is <a href="http://en.wikipedia.org/wiki/Gsm">GSM</a>, but I can get a <a href="http://www.motorola.com/motoinfo/product/details.jsp?globalObjectId=69">RAZR </a>on Verizon and T-Mobile so I know it can be done. Apple can make the iPod shuffle, nano, classic and touch so why not two different iPhones? I know that Apple gets a cut of the subscription fees from AT&amp;T, but I&#8217;m sure they could have worked out similar deals with the other big carriers. Maybe I spend too much time writing code and not enough doing business deals, but I fail to see how tying the phone exclusively to AT&amp;T is the best option for Apple. We know it&#8217;s not the best option for consumers.</p>
<p>Apple seems to be wielding a heavy hand when it comes to the iPhone in general. You need to use iTunes to update the phone which means you&#8217;re out of luck if you&#8217;re not on the Windows or Mac platforms. Unlike Microsoft&#8217;s <a href="http://www.microsoft.com/Windowsmobile/default.mspx">Windows Mobile</a>, there&#8217;s no SDK available for third part application development or a means of installing applications onto the phone. I&#8217;ve heard some claim that keeping third party apps off the phone preserves the user experience that <strike>Steve Jobs</strike> Apple intended, or that it keeps users from unknowingly breaking their phones causing nightmares for support. Neither of those arguments make sense to me. If I buy a nice new MacBook I can install any non-Apple applications I want and still get support as long as I haven&#8217;t done anything to break my Mac. Shouldn&#8217;t you have the same freedom on your phone? If you do something dumb and brick your phone. That&#8217;s your problem, but don&#8217;t artificially limit what I can do with my own property in an effort to &#8220;protect me from myself&#8221;. If I drop it in a puddle of water I don&#8217;t expect Apple to replace my phone, and if I do something else to brick my phone I don&#8217;t expect a replacement either. When you get to the heart of the matter, the iPhone is just another computer. Why not treat it as such?</p>
<p>Here&#8217;s an analogy. I just put new tires on my <a href="http://www.fordvehicles.com/trucks/f150/">truck</a>. Ford recommends a specific size tire, but if I choose a bigger size I don&#8217;t have to worry about the truck not starting the next time I bring it in to the dealer for service. I also understand that if those bigger tires cause a problem, I&#8217;m probably not going to be covered by the warranty. How come this same logic can&#8217;t be applied to the iPhone? It&#8217;s because the cell phone market in the US mistreats its customers, and Apple fell right into the status quo with the iPhone. That&#8217;s why Apple&#8217;s choice to lock the phone into AT&amp;T and it&#8217;s adversarial stance against unlocking has been such a disappointment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scartech.net/2007/10/03/what-if-apple-unlocked-the-iphone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iTunes SDK and C# &#8211; Part 1</title>
		<link>http://www.scartech.net/2007/09/28/itunes-sdk-and-c-part-1/</link>
		<comments>http://www.scartech.net/2007/09/28/itunes-sdk-and-c-part-1/#comments</comments>
		<pubDate>Sat, 29 Sep 2007 02:06:04 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.scartech.net/archives/11</guid>
		<description><![CDATA[If you&#8217;re like me you&#8217;ve got thousands of songs in your iTunes library. I got a new notebook PC a couple months back, and I decided to move all my music to it since it&#8217;s got plenty of disk space. I know I had lots of songs in my library whose files didn&#8217;t exist anymore. [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re like me you&#8217;ve got thousands of songs in your iTunes library. I got a new notebook PC a couple months back, and I decided to move all my music to it since it&#8217;s got plenty of disk space. I know I had lots of songs in my library whose files didn&#8217;t exist anymore. There&#8217;s a script for removing dead tracks included with the iTunes COM download, so I figured I would port it over to a C# project.</p>
<p>The code is pretty straightforward. Get a reference to iTunes, check the file location of each track in the library and delete the tracks whose files don&#8217;t exist.<br />
<font size="2" color="#2b91af"> </font> </p>
<blockquote><p><font size="2" color="#008000">//create a reference to iTunes</font></p>
<p><font size="2" color="#2b91af">iTunesAppClass</font><font size="2"> iTunes = </font><font size="2" color="#0000ff">new</font><font size="2"> </font><font size="2" color="#2b91af">iTunesAppClass</font><font size="2">();</font></p>
<p><font size="2" color="#008000">//get a reference to the collection of all tracks</font></p>
<p><font size="2" color="#2b91af">IITTrackCollection</font><font size="2"> tracks = iTunes.LibraryPlaylist.Tracks;</font></p>
<p><font size="2" color="#0000ff">for</font><font size="2"> (</font><font size="2" color="#0000ff">int</font><font size="2"> i = trackCount; i &gt; 0; i&#8211;)</font></p>
<p><font size="2">{</font></p>
<p><font size="2">      </font><font color="#2b91af">IITTrack</font><font size="2"> track = tracks[i];</font></p>
<p><font color="#0000ff">      if</font><font size="2"> (track.Kind == </font><font color="#2b91af">ITTrackKind</font><font size="2">.ITTrackKindFile)</font></p>
<p><font size="2">      </font><font size="2">{</font></p>
<p><font size="2">            </font><font color="#2b91af">IITFileOrCDTrack</font><font size="2"> fileTrack = (</font><font color="#2b91af">IITFileOrCDTrack</font><font size="2">)track;</font><font size="2" color="#008000">           </font></p>
<p><font size="2" color="#008000">            //if the file doesn&#8217;t exist, we&#8217;ll delete it from iTunes</font><font size="2" color="#0000ff">           </font></p>
<p><font size="2" color="#0000ff">           if</font><font size="2"> (fileTrack.Location == </font><font size="2" color="#2b91af">String</font><font size="2">.Empty || !System.IO.</font><font color="#2b91af">File</font>.Exists(fileTrack.Location))<font size="2" color="#008000"> </font><font size="2">            </font></p>
<p><font size="2">          {</font></p>
<p><font size="2">                  fileTrack.Delete();</font></p>
<p><font size="2">            }</font></p>
<p><font size="2">      }</font></p>
<p><font size="2">}</font></p></blockquote>
<p>You can download the project here (<a href="http://www.scartech.net/wp-content/uploads/itunescomsample.zip" title="Download Project">Download Project</a>). I put it into a WinForm, used a worker thread to take care of the iTunes work because it can take some time to check a 10K song library, and output the dead tracks removed to a list box.</p>
<p><a target="_blank" href="http://www.scartech.net/wp-content/uploads/itunescsharp.jpg"><img src="http://www.scartech.net/wp-content/uploads/itunescsharp.thumbnail.jpg" alt="itunescsharp.jpg" /></a></p>
<p>I think in part 2 I&#8217;ll add the ability to find duplicate songs and remove the copy with the lower bitrate. I know for sure that I&#8217;ve got quite a few of them. Any other ideas for what can be done with the iTunes SDK to clean up your music library or to just make life simpler?</p>
<p>Here&#8217;s what I used for this project:</p>
<li><a href="http://msdn2.microsoft.com/en-us/express/future/bb421473.aspx">Visual C# 2008 Express Edition</a></li>
<li><a href="http://www.apple.com/itunes/">iTunes 7.4.2.4</a></li>
<li><a href="http://developer.apple.com/sdk/itunescomsdk.html">iTunes COM for Windows SDK</a></li>
<p>FYI. I found about 175 dead tracks out of over 7300 in my library.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scartech.net/2007/09/28/itunes-sdk-and-c-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
