<?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>Megatome &#187; software</title>
	<atom:link href="http://www.megatome.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.megatome.com</link>
	<description>Just another idiot&#039;s ramblings</description>
	<lastBuildDate>Thu, 12 Jan 2012 00:45:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Using Apple Backup with Delicious Library 2</title>
		<link>http://www.megatome.com/2009/12/01/using-apple-backup-with-delicious-library-2/</link>
		<comments>http://www.megatome.com/2009/12/01/using-apple-backup-with-delicious-library-2/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 02:16:27 +0000</pubDate>
		<dc:creator>iamthechad</dc:creator>
				<category><![CDATA[gear]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[delicious library]]></category>

		<guid isPermaLink="false">http://www.megatome.com/?p=141</guid>
		<description><![CDATA[If you are using Delicious Library 2.x and Apple's Backup software, you can <a href="http://www.megatome.com/mt/4">download the QuickPick I created</a> to correctly back up your data.]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.megatome.com/wp-content/uploads/2009/12/backup.png" alt="Backup" border="0" width="92" height="92" style="float:left;margin:5px" />
<p>I&#8217;ve been using <a href="http://www.delicious-monster.com/">Delicious Library</a> for quite some time, and since I got my first Mac have used <a href="http://support.apple.com/downloads/Backup_3_1_2">Apple&#8217;s Backup</a> software as part of my backup solution. When I upgraded to DL2, I noticed that the backups weren&#8217;t changing size any more. I dug into the QuickPick package provided by the Delicious Monster website, and noticed that it hadn&#8217;t been changed to reflect the changes made in DL2.</p>
<p>I modified the QuickPick for my own use, expecting an official version to come soon. As of this writing, I&#8217;m still waiting.</p>
<p>I asked <a href="http://www.delicious-monster.com/company.php">Wil Shipley</a> why there was no updated QuickPick and got this response: &#8220;I think most people running DL2 have Time Machine.&#8221; (<a href="http://twitter.com/wilshipley/status/2642755302">full response here</a>) This seems to me to be quite a large assumption on Wil&#8217;s part. True, Time Machine is the &#8220;preferred&#8221; way to back up your Mac now, but the Backup software is still available and I would imagine there are quite a few people who still use it. For what it&#8217;s worth, I use <a href="http://support.apple.com/downloads/Backup_3_1_2">Backup</a>, Time Machine, <a href="http://www.backblaze.com/">Backblaze</a> and <a href="http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html">SuperDuper!</a> to back of various parts of my data. I&#8217;ve heard too many stories of <a href="http://timecapsuledead.org/">Time Capsules failing</a> to trust it to be my only backup solution.</p>
<p>The Delicious Monster website still points to the <a href="http://www.delicious-monster.com/blog/2005/09/backup-has-never-been-easier.html">DL1 QuickPick</a> from its <a href="http://delicious-monster.com/help.php?id=11#article">FAQ entry about backing up</a> data. This really frustrates me because users may download the QuickPick and trust that it is backing up their data while nothing of the sort is actually happening.</p>
<p>If you are using Delicious Library 2.x and Apple&#8217;s Backup software, you can <a href="http://www.megatome.com/mt/4">download the QuickPick I created</a> to correctly back up your data.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.megatome.com/2009/12/01/using-apple-backup-with-delicious-library-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Phone Screen Works Both Ways</title>
		<link>http://www.megatome.com/2009/09/08/the-phone-screen-works-both-ways/</link>
		<comments>http://www.megatome.com/2009/09/08/the-phone-screen-works-both-ways/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 21:06:08 +0000</pubDate>
		<dc:creator>iamthechad</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Living]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jobs]]></category>

		<guid isPermaLink="false">http://www.megatome.com/?p=74</guid>
		<description><![CDATA[A phone screen is typically used to screen applicants for a job, but it gave me enough information to make a decision about not wanting to work for the company.]]></description>
			<content:encoded><![CDATA[<p>I recently applied for a position through a recruiting service. I jumped through the requisite hoops and was told that the prospective employer was very excited to talk to me.</p>
<p>The standard procedure for this employer is to give candidates a simple phone screen before arranging an interview. Personally, I feel that having one person make a decision about whether or not I&#8217;ll &#8220;fit well with the team&#8221; after 10 minutes on the phone is ludicrous, but that&#8217;s the game I had to play.</p>
<p><a href="http://www.flickr.com/photos/nichollsphotos/2906834393/"><img src="http://farm4.static.flickr.com/3254/2906834393_e4ef4ae70e_m.jpg" alt="Tin Can Phone" style="float:right; margin: 5px"/></a></p>
<p>During the phone call, I was asked several generic questions about Java. I gave what I felt was correct answers to the questions, but the interviewer wasn&#8217;t happy with my results. Every time I answered a question, I heard &#8220;Well, I was looking for&#8230;&#8221;, with the expected answer simply being a different wording of what I had said.</p>
<p>I chalked this up to the interviewer simply being used to different terminology than I for the same concepts, so I was a bit surprised when I wasn&#8217;t called in for an in-person interview. It wasn&#8217;t until a few days later that I realized that the answers I was expected to give told me quite a bit about the company, and that I wouldn&#8217;t have been happy working there had I been offered the job.</p>
<p>The particular question that stuck in my mind was a simple one. &#8220;What are some of the benefits of the introduction of generics in Java, especially in collections?&#8221;</p>
<p>I gave the answer that pretty much anybody familiar with Java generics would give: compile-time type checking, no need for casting objects, etc. What I got from the interviewer was &#8220;Well, I was looking for the fact that you don&#8217;t have to do <code>instanceof</code> checks all over any more.&#8221;</p>
<p>On the surface, this may seem like another way of saying what I said, but it&#8217;s actually quite different.</p>
<p>Before generics, you would need to cast objects to the proper class when retrieving them from a collection. This does not mean that you would be using <code>instanceof</code> to do this. The only situation I can think of that requires using <code>instanceof</code> with a collection is if there are a lot of heterogenous objects in the collection.</p>
<p>There are limited situations where storing different object types in the same collection makes sense. Most of the time, however, this is a sign of either lazy development or not understanding the collection mechanism very well.</p>
<p>
<a href="http://www.flickr.com/photos/davesag/8519770/"><br />
<img src="http://farm1.static.flickr.com/8/8519770_e9043bc645_m.jpg" alt="More Bad Code" style="float:left;margin:5px"/></a></p>
<p>It&#8217;s generally a good idea to only put one type of object into a collection. This makes it much easier to work with and avoids any need for <code>instanceof</code> checks. By &#8220;one type of object&#8221;, I don&#8217;t mean that all of the objects need to be the exact same class. Chances are good that all of the objects being placed into a collection have some relationship; perhaps they will all implement the same interface.</p>
<p>I may have completely misinterpreted the interviewer, but I have a very strong impression that he and perhaps others on his team are used to using collections as grab bags of widely different things. Personally, I wouldn&#8217;t want to maintain that code. I can hope that the addition of generics to Java has forced the interviewer to change at least one practice for the better. I&#8217;m glad I wasn&#8217;t called in for the job &#8211; who knows how many more &#8220;well, at least it works&#8221; practices are being followed? I&#8217;ve got enough of those at my current job; I don&#8217;t need to learn a new set.</p>
<p>Images:</p>
<p>Tin Can:
<div xmlns:cc="http://creativecommons.org/ns#" about="http://www.flickr.com/photos/nichollsphotos/2906834393/"><a rel="cc:attributionURL" href="http://www.flickr.com/photos/nichollsphotos/">http://www.flickr.com/photos/nichollsphotos/</a> / <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/2.0/">CC BY-NC-ND 2.0</a></div>
<p>Java Code:</p>
<div xmlns:cc="http://creativecommons.org/ns#" about="http://www.flickr.com/photos/davesag/8519770/"><a rel="cc:attributionURL" href="http://www.flickr.com/photos/davesag/">http://www.flickr.com/photos/davesag/</a> / <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.0/">CC BY-NC-SA 2.0</a></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.megatome.com/2009/09/08/the-phone-screen-works-both-ways/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Known Defects and FindBugs</title>
		<link>http://www.megatome.com/2008/05/30/known-defects-and-findbugs/</link>
		<comments>http://www.megatome.com/2008/05/30/known-defects-and-findbugs/#comments</comments>
		<pubDate>Fri, 30 May 2008 16:41:16 +0000</pubDate>
		<dc:creator>iamthechad</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Making]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[annotation]]></category>
		<category><![CDATA[characterization test]]></category>
		<category><![CDATA[findbugs]]></category>
		<category><![CDATA[junit]]></category>
		<category><![CDATA[knowndefect]]></category>
		<category><![CDATA[legacy]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.megatome.com/2008/05/30/known-defects-and-findbugs/</guid>
		<description><![CDATA[(Download KnownDefects) I ran into a bit of a quandary the other day. I had to modify a piece of legacy code in our system &#8211; one that has no tests written against it. My first task was to write as many JUnit tests as I could to document the behavior of the component to [...]]]></description>
			<content:encoded><![CDATA[<p>(<a href="http://subversion.megatome.com/projects/KnownDefects/trunk/KnownDefect.zip">Download KnownDefects</a>)  </p>
<p>I ran into a bit of a quandary the other day. I had to modify a piece of legacy code in our system &#8211; one that has no tests written against it. My first task was to write as many <a href="http://www.junit.org/">JUnit</a> tests as I could to document the behavior of the component to help ensure that I didn&#8217;t break existing functionality with my changes.  </p>
<p>After a few tests, however, I began to notice something troubling. The component I was writing tests against had some bugs in it, and in order to make my unit tests pass, I had to code to those bugs. This in itself did not bother me too much, since I had no expectation that the component I was testing was error-free.  </p>
<p>What bothered me is that unit tests are often the best documentation of how a system works, and I would be creating misleading documentation. So, I did what anyone in this situation would do: I emailed <a href="http://langrsoft.com/">someone a lot smarter than me</a>.&nbsp; </p>
<p>The reply email contained several suggestions, all of which I plan to implement. The first suggestion is to carefully name the test methods to make it clear which ones work because of defects. The second suggestion is to create an annotation that can be added to a method to indicate that it works because of a defect, coupled with some way to report on all uses of the annotation.  </p>
<p>After a few hours of coding, I&#8217;m happy to announce that I&#8217;ve created a Java annotation named <code>KnownDefect</code> as well as a detector plugin for <a href="http://findbugs.sourceforge.net/">FindBugs</a> to collect all of the annotation instances.  </p>
<p>In the parlance of &#8220;<a href="http://www.amazon.com/Working-Effectively-Legacy-Robert-Martin/dp/0131177052/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1212164658&amp;sr=1-1">Working Effectively with Legacy Code</a>&#8220;, I have been creating &#8220;<a href="http://www.artima.com/weblogs/viewpost.jsp?thread=198296">characterization tests</a>&#8220;. These tests look like normal unit tests, but they document the current state of the system, warts and all. Using the <code>KnownDefect</code> annotation helps make the warts stick out better.  </p>
<p>Here&#8217;s an example:  </p>
<p>
<pre name="code" class="brush: java">public void testValidateNullResponse() {
   try {
      ProtocolParser.validateResponse(null);
      fail();
   } catch (InvalidRequestException expected) {
      // Caught expected exception
   }
}</pre>
</p>
<p>This test documents the system as it currently exists, but the behavior is obviously not correct. The <code>ProtocolParser</code> class should be throwing an <code>InvalidResponseException</code>, not an <code>InvalidRequestException</code>. To document this defect, I change the method name and add the <code>KnownDefect</code> annotation to the test method, resulting in the following:
</p>
<p>
<pre name="code" class="brush: java">@KnownDefect("Should throw InvalidResponseException")
public void testValidateNullResponseShowsKnownDefect() {
   try {
      ProtocolParser.validateResponse(null);
      fail();
   } catch (InvalidRequestException expected) {
      // Caught expected exception
   }
}</pre>
</p>
<p>The correct behavior is now documented, and the test still passes.
</p>
<p>Instead of writing a new tool to manage the <code>KnownDefect</code> instances, I ended up writing a new plugin for FindBugs. The FindBugs detector will collect all instances of the annotation and group them under the &#8220;Correctness&#8221; heading so they&#8217;re all in one place. Bug reports can then be created and the defects fixed or not as business needs dictate. (Sadly, the FindBugs plugin for Eclipse does not find the annotation in Groovy code. The standalone version of FindBugs works fine, so I assume there&#8217;s a resource filtering issue with the Eclipse plugin.)</p>
<p>Instructions for using the annotation and the detector are included in the download file. Try it out &#8211; hopefully it will be useful to somebody other than myself.</p>
<p>(<a href="http://subversion.megatome.com/projects/KnownDefects/trunk/KnownDefect.zip">Download KnownDefects</a>) (Subversion: <a href="http://subversion.megatome.com/projects/KnownDefects/trunk">http://subversion.megatome.com/projects/KnownDefects/trunk</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.megatome.com/2008/05/30/known-defects-and-findbugs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Not Quite Christmas, But Apple Delivers Anyway With iTunes 7.6</title>
		<link>http://www.megatome.com/2008/01/15/not-quite-christmas-but-apple-delivers-anyway-with-itunes-76/</link>
		<comments>http://www.megatome.com/2008/01/15/not-quite-christmas-but-apple-delivers-anyway-with-itunes-76/#comments</comments>
		<pubDate>Wed, 16 Jan 2008 01:23:59 +0000</pubDate>
		<dc:creator>iamthechad</dc:creator>
				<category><![CDATA[goodies]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[playlists]]></category>

		<guid isPermaLink="false">http://www.megatome.com/2008/01/15/not-quite-christmas-but-apple-delivers-anyway-with-itunes-76/</guid>
		<description><![CDATA[Earlier, I wrote about the fact that it was hard to watch TV series on my iPhone because of the limited options that iTunes allowed for syncing video. Other people must have had the same complaint, since the newly released iTunes 7.6 has settings for syncing "least recent" videos.]]></description>
			<content:encoded><![CDATA[<p>Earlier, I <a href="http://www.megatome.com/2007/12/17/all-i-want-for-christmas-is-one-little-tweak-to-itunes/">wrote about</a> the fact that it was hard to watch TV series on my iPhone because of the limited options that iTunes allowed for syncing video. Other people must have had the same complaint, since the newly released iTunes 7.6 has settings for syncing &quot;least recent&quot; videos. Yay!</p>
<p>iTunes 7.6 also fixed a <a href="http://discussions.apple.com/thread.jspa?messageID=6024619&amp;%236024619">nasty bug</a> that would cause Smart Playlists created with a &quot;Video Kind&quot; rule to fail &#8211; sometimes horribly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.megatome.com/2008/01/15/not-quite-christmas-but-apple-delivers-anyway-with-itunes-76/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All I Want For Christmas Is One Little Tweak To iTunes</title>
		<link>http://www.megatome.com/2007/12/17/all-i-want-for-christmas-is-one-little-tweak-to-itunes/</link>
		<comments>http://www.megatome.com/2007/12/17/all-i-want-for-christmas-is-one-little-tweak-to-itunes/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 04:12:13 +0000</pubDate>
		<dc:creator>iamthechad</dc:creator>
				<category><![CDATA[gear]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[dexter]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[itunes]]></category>

		<guid isPermaLink="false">http://www.megatome.com/2007/12/17/all-i-want-for-christmas-is-one-little-tweak-to-itunes/</guid>
		<description><![CDATA[With Apple's push to deliver video on more and more portable devices, I'm surprised that I haven't seen this complaint yet.]]></description>
			<content:encoded><![CDATA[<p>With Apple&#8217;s push to deliver video on more and more portable devices, I&#8217;m surprised that I haven&#8217;t seen this complaint yet.</p>
<p>Maybe I&#8217;m not looking in the right places. I love watching video on my iPhone. I also have a few season passes to TV shows through the iTunes Music Store. Some shows, like my new favorite <a href="http://www.sho.com/site/dexter/home.do">Dexter</a>, don&#8217;t release any episodes until the entire season is available. Here&#8217;s where the problem comes in. The first season of Dexter is 14 episodes, each around 660-670 megabytes in size. I have a 4 gig iPhone, so there&#8217;s no way all of the episodes will fit. Luckily, iTunes offers some flexibility in how video is synced to devices. I can select to sync all unwatched episodes of a show, or a subset of 1, 3, 5, or 10 unwatched episodes. For some reason, though, I can only pick the most <span style="font-weight: bold">recent</span> unwatched episodes. WTF? Why the hell would I download an entire series, then choose to only sync the last 10 episodes? Why on earth didn&#8217;t Apple put in a similar set of options to let me sync the <span style="font-weight: bold">first</span> 1, 3, 5, 10 episodes?</p>
<p>As it stands now, I have to watch enough episodes on my computer or my video iPod to be able to sync remaining episodes with the iPhone. I can create a smart playlist that keeps track of the oldest X number of unwatched episodes, but it doesn&#8217;t sync to the iPhone. iTunes sees the playlist as belonging to the Music category, and I can only choose to sync music videos, not TV shows within playlists.</p>
<p>C&#8217;mon Apple. I know this can&#8217;t be too hard. Make it easy for me to watch video on my iPhone like all the hype tells me I should do.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.megatome.com/2007/12/17/all-i-want-for-christmas-is-one-little-tweak-to-itunes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Leopard First Impressions</title>
		<link>http://www.megatome.com/2007/10/28/leopard-first-impressions/</link>
		<comments>http://www.megatome.com/2007/10/28/leopard-first-impressions/#comments</comments>
		<pubDate>Mon, 29 Oct 2007 03:31:17 +0000</pubDate>
		<dc:creator>iamthechad</dc:creator>
				<category><![CDATA[goodies]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[10.5]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[macmini]]></category>
		<category><![CDATA[macos]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[superduper]]></category>

		<guid isPermaLink="false">http://www.megatome.com/2007/10/28/leopard-first-impressions/</guid>
		<description><![CDATA[So, I knew I should probably wait, but I installed MacOS X 10.5 Leopard on Friday.]]></description>
			<content:encoded><![CDATA[<p>So, I knew I should probably wait, but I installed MacOS X 10.5 Leopard on Friday. Over all, the experience was good &#8211; I have an external hard drive that I backed up using <a href="http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html">SuperDuper!</a>, did a fresh install of Leopard, and watched the Migration Assistant bring over all of my data from the backup. Very cool. Now, I&#8217;m just hoping the <a href="http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html">SuperDuper!</a> team gets an updated version out soon, since apparently Time Machine doesn&#8217;t make bootable images. This would be a perfect time for karma to bite me and kill my hard drive. I could recover, but not quickly. Leopard has lots of improvements that I&#8217;m sure everybody will discuss ad nauseum, so I&#8217;m just going to mention the things I&#8217;ve had problems with or don&#8217;t like.</p>
<ul>
<li>Network shares. I&#8217;ve got a Network Attached Storage (NAS) device, with shares for files, music, and photos. I spent the better part of an hour trying to get these shares remapped. I could do &quot;Connect To Server..&quot; in Finder and the share contents would be displayed, but I&#8217;d get no icon on the desktop or in the Finder window to show that the drive was actually mapped. For some reason, about 50% of the time, I couldn&#8217;t connect to the share anyway &#8211; I&#8217;d get a message saying that the device could not be found. Strange and annoying behavior. </li>
<li>Backup. I have several backup jobs that run and archive to the NAS. Since the upgrade to Leopard, all of the backups that have run have failed. I had to go into the configuration for each backup job and make sure that the correct share was specified. This is where it got confusing &#8211; apparently there&#8217;s some subtle difference between <code>smb://nas/files</code> and <code>smb://nas/files</code>. The destination that was specified before the upgrade failed, while the destination created after the upgrade works. I have noticed that SMB shares now use a different icon, so there may be something happening behind the scenes that&#8217;s not obvious. </li>
<li>Bootup. On my MacBook, Leopard takes about 3 times as long to boot as Tiger did. Not a big deal, considering I rarely reboot, but still annoying. </li>
<li>The dock. I don&#8217;t have the issues with the updated dock that others have complained about. I do miss the little black arrow telling me which applications are running &#8211; the little white blob is much harder for me to see, so I can&#8217;t tell at a glance what&#8217;s open. I&#8217;m sure somebody will come out with a utility to fix this soon. </li>
<li>Java. Where is Java 6? I had been under the impression that Java 6 was coming with Leopard, and was sorely disappointed when it was missing. This means that I&#8217;m still going to be stuck loading up a virtual machine to develop, since the apps I work on rely on Java 6. Not a show-stopper, but still a pain. </li>
</ul>
<p>The only issue that is really a problem is the network drive issue. I&#8217;ve been able to get the shares to map on my notebook, but the shares absolutely refuse to show up on my mother-in-law&#8217;s Mac Mini. This means that her data isn&#8217;t getting backed up at all right now. Am I missing a setting somewhere to make mapped network shares visible/hidden? I looked but I couldn&#8217;t find anything that looked promising.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.megatome.com/2007/10/28/leopard-first-impressions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Find the Beat</title>
		<link>http://www.megatome.com/2006/10/26/find-the-beat/</link>
		<comments>http://www.megatome.com/2006/10/26/find-the-beat/#comments</comments>
		<pubDate>Thu, 26 Oct 2006 16:36:13 +0000</pubDate>
		<dc:creator>iamthechad</dc:creator>
				<category><![CDATA[goodies]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[playlist]]></category>

		<guid isPermaLink="false">http://www.megatome.com/2006/10/26/find-the-beat/</guid>
		<description><![CDATA[I've been trying different "BPM" apps off and on for quite while with little to no results. Either they've crashed, or they're marginally associated with iTunes and expect you to use their interface. Enter Tangerine, by Potion Factory. This slick little app will scan your iTunes library, determine BPM for everything it can, and let you create iTunes playlists based on BPM and beat intensity.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been trying different &quot;BPM&quot; apps off and on for quite while with little to no results. Either they&#8217;ve crashed, or they&#8217;re marginally associated with iTunes and expect you to use their interface. Enter <a href="http://www.potionfactory.com/blog/2006/10/18/introducing-tangerine/">Tangerine</a>, by <a href="http://www.potionfactory.com/">Potion Factory</a>. This slick little app will scan your iTunes library, determine BPM for everything it can, and let you create iTunes playlists based on BPM and beat intensity.</p>
<p><a title="Main Window" href="http://flickr.com/photos/22198151@N00/276889557"><img src="http://static.flickr.com/116/276889557_1bc78179a9_d.jpg" border="0" /></a></p>
<p>The main window is easy to navigate. Clicking on the spinning tangerine in the lower right corner shows the status of the BPM/intensity determination.</p>
<p><a title="Analysis in Progress" href="http://flickr.com/photos/22198151@N00/276889513"><img src="http://static.flickr.com/82/276889513_5b0caa4d4e_d.jpg" border="0" /></a></p>
<p>Yes, it says there&#8217;s an hour and 33 minutes left. It&#8217;s not as bad as its sounds. Given that I had 9600+ tracks to analyze and that my music is on a network attached hard drive, and hour and a half is pretty darn good.</p>
<p>Once the analysis is complete, the fun begins. Tangerine lets you specify a beat range and an intensity range for a playlist. It also lets you decide how to organize the songs, length of playlist, etc. Here&#8217;s one I created for my higher BPM songs:</p>
<p><a title="Generated Playlist" href="http://flickr.com/photos/22198151@N00/276889503"><img src="http://static.flickr.com/100/276889503_10d66f0561_d.jpg" border="0" /></a></p>
<p>I&#8217;m not entirely sure, but I think the width of the image has to do with the intensity of the beat. The height of the image is proportional to the track&#8217;s BPM.</p>
<p>If you&#8217;re paying attention, you should have noticed some issues with the above playlist. Sure &#8211; Queen, Orbital, and Marilyn Manson make sense for having high BPM tracks, but Roger Miller? And not just any Roger Miller song, but &quot;My Uncle Used To Love Me But She Died&quot;? (Which you can tell with nifty tooltip-type popups.)    <br /><a title="Track Info" href="http://flickr.com/photos/22198151@N00/276889462"><img src="http://static.flickr.com/92/276889462_2228606b8f_d.jpg" border="0" /></a></p>
<p>Tangerine is in beta, so I&#8217;m not too surprised that some songs seem to have their BPM calculated a bit &quot;off&quot;. Fortunately, the app will let you pick a track and either halve or double its BPM, so the problem entries can be weeded out. I have over 9600 tracks in my library, so I haven&#8217;t done too much of that legwork yet &#8211; I&#8217;m hoping that a subsequent release will be a bit more accurate.</p>
<p>I&#8217;ve already used Tangerine to make a couple of high speed playlists for my workouts, and its integration with iTunes works like a charm. You can tweak a playlist all you want in Tangerine, but it doesn&#8217;t exist in iTunes until you specifically tell it to. Likewise, the discovered BPM info is only stored in Tangerine until you tell it to store that data to iTunes. It&#8217;s a great way to mess around without worrying that you&#8217;ll mess up your iTunes library.</p>
<p><!-- technorati tags begin --></p>
<p style="font-size: 10px; text-align: right">technorati tags:<a href="http://technorati.com/tag/mac" rel="tag">mac</a>, <a href="http://technorati.com/tag/itunes" rel="tag">itunes</a>, <a href="http://technorati.com/tag/music" rel="tag">music</a>, <a href="http://technorati.com/tag/playlist" rel="tag">playlist</a></p>
<p><!-- technorati tags end --></p>
<p style="font-size: 8px; text-align: right">Blogged with <a title="Flock" href="http://www.flock.com" target="_new">Flock</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.megatome.com/2006/10/26/find-the-beat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

