<?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>raoli.com &#187; Programming</title>
	<atom:link href="http://raoli.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://raoli.com</link>
	<description>random and occassionally coherent musings</description>
	<lastBuildDate>Thu, 27 May 2010 13:02:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Experiences with a Sound Designer</title>
		<link>http://raoli.com/2008/12/13/experiences-with-a-sound-designer/</link>
		<comments>http://raoli.com/2008/12/13/experiences-with-a-sound-designer/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 22:41:35 +0000</pubDate>
		<dc:creator>Eric Blair</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://raoli.com/?p=421</guid>
		<description><![CDATA[Andy Finnell:

This is a description of my experiences with finding and hiring a sound designer to create royalty free, custom sound effects for my game. My experience with hiring and working with a sound designer was quite pleasant. The entire process was completed exactly one week after I first started contacting designers.

I&#8217;ve been spending a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.losingfight.com/blog" title="Experiences with a Sound Designer">Andy Finnell</a>:</p>
<blockquote>
<p>This is a description of my experiences with finding and hiring a sound designer to create royalty free, custom sound effects for my game. My experience with hiring and working with a sound designer was quite pleasant. The entire process was completed exactly one week after I first started contacting designers.</p>
</blockquote>
<p>I&#8217;ve been spending a little time thinking about sounds in applications lately, so I enyoyed reading about Andy&#8217;s experiences with a sound designer.</p>
]]></content:encoded>
			<wfw:commentRss>http://raoli.com/2008/12/13/experiences-with-a-sound-designer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Whither Cocoalicious?</title>
		<link>http://raoli.com/2008/02/15/whither-cocoalicious/</link>
		<comments>http://raoli.com/2008/02/15/whither-cocoalicious/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 20:24:03 +0000</pubDate>
		<dc:creator>Eric Blair</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://raoli.com/2008/02/15/whither-cocoalicious/</guid>
		<description><![CDATA[Buzz Andersen:

One thing I&#8217;ve been meaning to do for a very long time is talk a little bit about the state of my other popular Mac app, Cocoalicious.

I&#8217;m glad to see Buzz getting Cocoalicious up and running once more, and I&#8217;m not just saying that because I contributed to the next release.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://log.scifihifi.com/" title="Whither Cocoalicious?">Buzz Andersen</a>:</p>
<blockquote>
<p>One thing I&rsquo;ve been meaning to do for a very long time is talk a little bit about the state of my other popular Mac app, Cocoalicious.</p>
</blockquote>
<p>I&#8217;m glad to see Buzz getting Cocoalicious up and running once more, and I&#8217;m not just saying that because I contributed to the next release.</p>
]]></content:encoded>
			<wfw:commentRss>http://raoli.com/2008/02/15/whither-cocoalicious/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding iTunes+ Support to TiVo</title>
		<link>http://raoli.com/2007/06/07/adding-itunes-support-to-tivo/</link>
		<comments>http://raoli.com/2007/06/07/adding-itunes-support-to-tivo/#comments</comments>
		<pubDate>Fri, 08 Jun 2007 05:38:23 +0000</pubDate>
		<dc:creator>Eric Blair</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[TiVo]]></category>

		<guid isPermaLink="false">http://raoli.com/2007/06/07/adding-itunes-support-to-tivo/</guid>
		<description><![CDATA[A little over two years ago, TiVo quietly enabled the ability to stream unprotected AAC to TiVos for use via the Home Media Option. I say quietly, because this feature required you to install lame and didn&#8217;t appear to be documented anywhere. At the time, I viewed this as a promising sign that TiVo was [...]]]></description>
			<content:encoded><![CDATA[<p>A little over two years ago, TiVo <a href="http://archive2.tivocommunity.com/tivo-vb/showthread.php?p=2608116&amp;&amp;#post2608116" title="TiVo Desktop 1.9 released">quietly enabled</a> the ability to stream unprotected AAC to TiVos for use via the Home Media Option. I say quietly, because this feature required you to install <code>lame</code> and didn&#8217;t appear to be documented anywhere. At the time, I viewed this as a promising sign that TiVo was starting to make good on it&#8217;s then 2-year-old statement that they were looking to <a href="http://raoli.com/2003/05/28/aac-and-hmo/">add AAC support to the HMO</a>. However, it&#8217;s been another 2+ years since that time and not much has changed.</p>
<p>What has changed is that Apple unveiled iTunes+, complete with unprotected AAC files. In theory, these files should &#8220;just work&#8221; with TiVo&#8217;s existing AAC support. Of course, as is true of many things, the transition from theory to reality did not go as planned. As reported by <a href="http://theappleblog.com/2007/06/05/itunes-plus-files-unplayable-by-tivo/">The Apple Blog</a>, iTunes+ still are not playable through HMO.</p>
<p>We come here not to bury TiVo, but to fix it.</p>
<p><span id="more-324"></span></p>
<p>On The Apple Blog, the suggested solution to this problem is to use iTunes&#8217; Convert Selection command to convert your files to either MP3 or AAC. I&#8217;m not crazy about this, because you either take extra hard drive space storing two copies of each track or you introduce an additional lossy compression into your only copy of each track. The trick is to make TiVo Desktop recognize the &#8220;Purchased AAC audio file&#8221; type.</p>
<p>For the record, I&#8217;m pretty about everything that follows, but there&#8217;s always the slim chance that following my instructions could reduce you system to a smoldering pile of rubble, or something slightly less drastic. Make sure you&#8217;ve got a backup of everything and proceed at your own risk.</p>
<p>Inspired (heavily) by Dan Benjamin&#8217;s <a href="http://hivelogic.com/narrative/articles/ruby_rails_lighttpd_mysql_tiger">Building Ruby, Rails, LightTPD, and MySQL on Tiger</a>, here we go.</p>
<h3>What You Need</h3>
<ol>
<li>Mac OS X 10.4 (previous versions might work, but I have no idea).</li>
<li>Developer Tools</li>
<li>TiVo Desktop</li>
<li>Some level of comfort with the Terminal and editing some Java code.</li>
</ol>
<h3>Getting Started</h3>
<p>Before doing anything, you need to make sure TiVo Desktop is not running. Open System Preferences and select the TiVo Desktop Preference Pane. If it says &#8220;TiVo Desktop On&#8221; underneath the TiVo logo, click the Stop button.</p>
<p>To keep things simple, we&#8217;re going use one working area for pretty much everything. I suggest creating a folder called <code>tivo</code> in your home folder. To do so, enter the following into a new Terminal window:</p>
<pre><code>mkdir tivo
cd tivo
</code></pre>
<p>Keep the Terminal window open so you stay in this folder.</p>
<h3>LAME</h3>
<p>Not a social commentary on my part, LAME is the tool that TiVo Desktop uses to support AAC files. TiVO Desktop uses LAME to convert AAC files to MP3 files on-the-fly and sends the MP3 file to your TiVo. The AAC file on your hard drive remains unchanged.</p>
<p>You can copy the following lines into your Terminal one at a time. When the current line finished, proceed to the next line.</p>
<p>We&#8217;ll end up using the <code>sudo</code> command a few times during this process. One or more times, you may be prompted to enter your password. Do so when asked.</p>
<pre><code>curl -O http://umn.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz
tar xvzf lame-3.97.tar.gz
cd lame-3.97
./configure --prefix=/usr/local
make
sudo make install
cd..
</code></pre>
<p>If you get an error like this:</p>
<pre><code>checking whether make sets $(MAKE)... no
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
</code></pre>
<p>then you don&#8217;t have the Developer Tools installed. You should have a copy on your Tiger CDs/DVDs or you can download a copy from the <a href="http://developer.apple.com/">Apple Developer Connection</a> website.</p>
<h3>JAD</h3>
<p><a href="http://www.kpdus.com/jad.html">JAD</a> is a Java Decompiler. Basically, it lets you get back to the Java source code used to create Java byte code files. The portions of TiVo Desktop we care about are written in Java, so this tool will enable us to make the necessary modifications to support iTunes+ files.</p>
<p>JAD is not a Universal binary &#8212; there are separate Intel and PowerPC version. Make sure you download the appropriate version. Also, I have not tested the Intel version. The JAD website indicates that the Intel version is for Mac OS X 10.4.6. I assume that means 10.4.6 <em>or newer</em>, but I can&#8217;t be sure.</p>
<h4>Intel</h4>
<pre><code>curl -O http://www.kpdus.com/jad/macosx86/jadmx158.zip
</code></pre>
<h4>PowerPC</h4>
<pre><code>curl -O http://www.kpdus.com/jad/macosx/jadap158.zip
</code></pre>
<p>Once you&#8217;ve downloaded jar, you expand the file and make sure jad is configured as an executable.</p>
<pre><code>unzip jar158.zip
chmod a+x jad
</code></pre>
<h3>TiVoDesktop.jar</h3>
<p>TiVoDesktop.jar is contains the Java byte code that we&#8217;re going to be modifying. We&#8217;re going to copy this into working area before making any changes, extract the byte code from the archive, and decompile the byte code we care about back into a Java source file.</p>
<pre><code>cp /Library/Application\ Support/TiVo/TiVoDesktop.jar .
jar xf TiVoDesktop.jar
./jad -sjava com/tivo/util/SoundConverter.class
</code></pre>
<h3>Editing SoundConverter.java</h3>
<p>The <code>jad</code> command above will create the SoundConverter.java file, which contains the source code for the SoundConverter class. Open this in your favorite text editor and find the method named:</p>
<pre><code>public static boolean isConvertibleToMPEG(String type)
</code></pre>
<p>This method pretty short &#8212; only 6 lines. The first 2 lines check if a TiVo will natively support the file type. The second 2 lines check if the file type can be converted into a file type a TiVo will support. The last 2 lines indicate that the file type cannot be used with a TiVo.</p>
<p>It&#8217;s the second 2 lines that interested us. Specifically, this line (split into 2 lines here for readability):</p>
<pre><code>if(type.equals("AAC audio file") || type.equals("AIFF audio file")
    || type.equals("Apple Lossless audio file") || type.equals("WAV audio file"))
</code></pre>
<p>This line sees if the file type can be converted to MP3. We need to add &#8220;Purchased AAC audio file&#8221; to this list to support iTunes+ files. So, replace the above line with the following (again, 1 line in the source file, 3 lines here for readability):</p>
<pre><code>if(type.equals("AAC audio file") || type.equals("AIFF audio file")
    || type.equals("Apple Lossless audio file") || type.equals("WAV audio file")
    || type.equals("Purchased AAC audio file"))
</code></pre>
<p>The only change was adding <code>|| type.equals("Purchased AAC audio file")</code> between the last two closing parenthesis.</p>
<h3>Updating TiVoDesktop.jar</h3>
<p>Once the source code has been edited, we need to update TiVoDesktop.jar. This involves generating the byte code for the SoundConverter class and replacing the old byte code in TiVoDesktop.jar.</p>
<pre><code>javac SoundConverter.java
mv SoundConverter.class com/tivo/util/
jar uf TiVoDesktop.jar com/tivo/util/SoundConverter.class
</code></pre>
<p>If you get an error after running the <code>javac</code> command, you&#8217;ve made a mistake in your code. You can either try to find your error or you can delete the SoundConverter.java file start back at the <code>jar</code> command under &#8220;TiVoDesktop.jar&#8221;</p>
<h3>Replacing TiVoDesktop.jar</h3>
<p>Now it&#8217;s time to replace the old TiVoDesktop.jar with our updated copy.</p>
<pre><code>pushd .
cd /Library/Application\ Support/TiVo/
sudo mv TiVoDesktop.jar TiVoDesktop.jar.old
popd
sudo mv TiVoDesktop.jar /Library/Application\ Support/TiVo/
</code></pre>
<h3>Finishing Up</h3>
<p>If you&#8217;ve gotten this far, you&#8217;re pretty much done. All that&#8217;s left is to restart the TiVo Desktop (open the TiVo Desktop Preference Pane and click Start) and start playing your iTunes+ files through your TiVo.</p>
<p>Theoretically (there&#8217;s that word again), this should be relatively simple for TiVo to implement. However, development of TiVo Desktop for the Mac has not proceeded at a brisk pace. It wouldn&#8217;t surprise me if the next release doesn&#8217;t come out until after the release of Leopard (assuming the current TiVo Desktop doesn&#8217;t play well with Leopard).</p>
<p>Since I implemented this change, the only issue I&#8217;ve seen is occasional when my TiVo is playing back the converted tracks. Since the files are being converted and streamed on demand, the skipping&#8217;s probably due to the 5-year-old computer I&#8217;m currently riding like a rented mule (the skipping didn&#8217;t occur if I left the computer alone while it was streaming). I suspect that those of you with more modern hardware won&#8217;t have any problems.</p>
<p>&#8230;and no, I wouldn&#8217;t suggest using this trick to try and add support for Protected AAC audio files. Something tells me the results might not be pretty.</p>
]]></content:encoded>
			<wfw:commentRss>http://raoli.com/2007/06/07/adding-itunes-support-to-tivo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Display Webpages in Tabs</title>
		<link>http://raoli.com/2006/06/21/display-webpages-in-tabs/</link>
		<comments>http://raoli.com/2006/06/21/display-webpages-in-tabs/#comments</comments>
		<pubDate>Wed, 21 Jun 2006 08:07:18 +0000</pubDate>
		<dc:creator>Eric Blair</dc:creator>
				<category><![CDATA[Display Webpages in Tabs]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.raoli.com/?p=292</guid>
		<description><![CDATA[I was looking at my Projects page and realized I hadn&#8217;t added anything new for over 3 years. I also saw I had some year+ old code in my Sandbox folder that appeared ready for distribution.
In the spirit of those two things, I&#8217;m happy to actually post something new. My Display Webpages in Tabs Automator [...]]]></description>
			<content:encoded><![CDATA[<p>I was looking at my <a href="http://raoli.com/projects/">Projects</a> page and realized I hadn&#8217;t added anything new for over 3 years. I also saw I had some year+ old code in my Sandbox folder that appeared ready for distribution.</p>
<p>In the spirit of those two things, I&#8217;m happy to actually post something new. My Display Webpages in Tabs Automator action is now available. This action is largely a drop-in replacement for Apple&#8217;s Display Webpages action. The main difference is that my action, appropraitely enough, generates new tabs for URLs instead of new windows. The other difference is that my action only returns a single document reference instead of one one reference for every created document.</p>
<p>You can <a href="http://raoli.com/projects/automator/actions/DisplayWebpagesInTabs1.0.zip">download Display Webpages in Tabs directly</a> or you can visit the <a href="http://raoli.com/projects/automator/">Automator Actions</a> page on this very site. I may get around to posting the other actions I&#8217;ve got floating around my system.</p>
]]></content:encoded>
			<wfw:commentRss>http://raoli.com/2006/06/21/display-webpages-in-tabs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Experimenting With Light On Apple Notebook Computers</title>
		<link>http://raoli.com/2006/06/19/experimenting-with-light-on-apple-notebook-computers/</link>
		<comments>http://raoli.com/2006/06/19/experimenting-with-light-on-apple-notebook-computers/#comments</comments>
		<pubDate>Tue, 20 Jun 2006 06:25:11 +0000</pubDate>
		<dc:creator>Eric Blair</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.raoli.com/?p=291</guid>
		<description><![CDATA[John Gruber:


Amit Singh &#8212; who first published example code showing how to use unsupported APIs to use the motion sensors in Mac notebooks &#8212; now shows how to get readings from a Mac&#8217;s ambient light sensor and how to get and set the brightness of the backlit keyboards.


How long until someone writes a hack to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://daringfireball.net/linked/2006/june#mon-19-ambient_singh" title="Experimenting With Light On Apple Notebook Computers">John Gruber</a>:</p>
<blockquote cite="http://daringfireball.net/linked/2006/june#mon-19-ambient_singh">
<p>
Amit Singh &mdash; who first published example code showing how to use unsupported APIs to use the motion sensors in Mac notebooks &mdash; now shows how to get readings from a Mac&rsquo;s ambient light sensor and how to get and set the brightness of the backlit keyboards.
</p>
<p>
How long until someone writes a hack to use the keyboard backlight as a CPU monitor?
</p>
</blockquote>
<p>This particular Linked List entry is pointing Amit Singh&#8217;s <a href="http://www.osxbook.com/book/bonus/chapter10/light/" title="Experimenting With Light On Apple Notebook Computers">experimentation</a> with the Light Sensor API. The API allows access to the readings of the ambient light sensor, the LED brightness value of the backlit keyboard, and the display brightness.</p>
<p>Gruber&#8217;s CPU monitor could happen. Parhaps somebody could link brightness to system temperature? In either case, there should be an option to make the keyboard (and/or screen) throb the warp core on the Enterprise as CPU usage temperature increases.</p>
<p>Of course, I could see this eating into the <a href="http://www.griffintechnology.com/products/powermate/">PowerMate</a>&#8217;s market. I mean, who needs a flashing knob to notify you of email when you can have a flashing keyboard?</p>
]]></content:encoded>
			<wfw:commentRss>http://raoli.com/2006/06/19/experimenting-with-light-on-apple-notebook-computers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cocoalicious 1.0b37</title>
		<link>http://raoli.com/2005/09/17/cocoalicious-10b37/</link>
		<comments>http://raoli.com/2005/09/17/cocoalicious-10b37/#comments</comments>
		<pubDate>Sat, 17 Sep 2005 22:01:17 +0000</pubDate>
		<dc:creator>Eric Blair</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.raoli.com/?p=270</guid>
		<description><![CDATA[Buzz posted the newest version of Cocoalicious this morning, including the favicon support that I worked on earlier in the summer. I haven&#8217;t looked at the code, but from the release build posted, the favicon downloading routine seems much more efficient than my original code. 
I really want to find some time to look at [...]]]></description>
			<content:encoded><![CDATA[<p>Buzz posted the newest version of Cocoalicious this morning, including the <a href="http://www.flickr.com/photos/ldandersen/21582754/">favicon support</a> that I worked on earlier in the summer. I haven&#8217;t looked at the code, but from the release build posted, the favicon downloading routine seems much more efficient than my original code. </p>
<p>I really want to find some time to look at the changes &#8212; one of the downsides of my original technique was that it only found favicons named &#8220;favicon.ico&#8221; that were in the root level of the server. If that&#8217;s still the case, I&#8217;d be interested in trying out the WebKit-approved method for finding favicons, since that also checks the actual HTML code for a <code>link</code> tag pointing towards an alternate location for the favicon.</p>
<p>It sounds like there lots of other cool stuff in this release as well. Check out the <a href="http://weblog.scifihifi.com/2005/09/17/cocoalicious-10b37/" title="Cocoalicious 1.0b37">release notes</a> and grab the <a href="http://www.scifihifi.com/cocoalicious/">latest version</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://raoli.com/2005/09/17/cocoalicious-10b37/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VoodooPad Post Mortem</title>
		<link>http://raoli.com/2004/12/09/voodoopad-post-mortem/</link>
		<comments>http://raoli.com/2004/12/09/voodoopad-post-mortem/#comments</comments>
		<pubDate>Thu, 09 Dec 2004 09:58:06 +0000</pubDate>
		<dc:creator>Eric Blair</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.raoli.com/?p=243</guid>
		<description><![CDATA[Gus Mueller:

When I finished VoodooPad 1.0, I told myself I would write a post-mortem about my experiences working on it. Only I never did that. Then when I finished 1.1 told myself I&#8217;d really do it this time. Bzzt. Ok, this time I really mean it.

]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.gusmueller.com/blog/archives/2004/12/9.html#1184">Gus Mueller</a>:</p>
<blockquote cite="http://www.gusmueller.com/blog/archives/2004/12/9.html#1184"><p>
When I finished VoodooPad 1.0, I told myself I would write a post-mortem about my experiences working on it. Only I never did that. Then when I finished 1.1 told myself I&#8217;d really do it this time. Bzzt. Ok, this time I really mean it.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://raoli.com/2004/12/09/voodoopad-post-mortem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updated ODBEditor Classes</title>
		<link>http://raoli.com/2004/11/30/updated-odbeditor-classes/</link>
		<comments>http://raoli.com/2004/11/30/updated-odbeditor-classes/#comments</comments>
		<pubDate>Wed, 01 Dec 2004 07:08:54 +0000</pubDate>
		<dc:creator>Eric Blair</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.raoli.com/?p=240</guid>
		<description><![CDATA[Gus Mueller has posted an update to the ODBEditor classes that incorporates some changes I submitted to the code to differentiate between editing a string and editing a file and to handle Save As notifications from the editor.
Unless I&#8217;m forgetting something, this is the first time I&#8217;ve contributed code to any sort of open-source project.
The [...]]]></description>
			<content:encoded><![CDATA[<p>Gus Mueller has <a href="http://www.gusmueller.com/blog/archives/2004/11/30.html#1180">posted</a> an update to the <a href="http://gusmueller.com/odb/">ODBEditor classes</a> that incorporates some changes I submitted to the code to differentiate between editing a string and editing a file and to handle Save As notifications from the editor.</p>
<p>Unless I&#8217;m forgetting something, this is the first time I&#8217;ve contributed code to any sort of open-source project.</p>
<p>The ODB Editor Suite is Apple Event based interface that allows applications to easily communicate with <a href="http://www.barebones.com/products/bbedit/index.shtml">BBEdit</a> &#8212; it&#8217;s at the heart of the &#8220;Edit in BBEdit&#8221; functionality found in many apps, including <a href="http://ranchero.com/marsedit/">MarsEdit</a> and Gus&#8217;es own <a href="http://www.flyingmeat.com/voodoopad.html">Voodoo Pad</a> 2.0. For more information, check out the <a href="http://www.barebones.com/support/develop/odbsuite.shtml">Bare Bones web site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://raoli.com/2004/11/30/updated-odbeditor-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Affrus</title>
		<link>http://raoli.com/2004/03/15/affrus/</link>
		<comments>http://raoli.com/2004/03/15/affrus/#comments</comments>
		<pubDate>Tue, 16 Mar 2004 03:24:08 +0000</pubDate>
		<dc:creator>Eric Blair</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.raoli.com/?p=171</guid>
		<description><![CDATA[Gee, I wish I had Affrus back when I was taking Perl in school.
Then again, I also wish I had OS X back when I was taking Perl, but that&#8217;s another story  
[via Michael]
]]></description>
			<content:encoded><![CDATA[<p>Gee, I wish I had <a href="http://www.latenightsw.com/affrus/index.html">Affrus</a> back when I was taking Perl in <a href="http://www.rpi.edu/">school</a>.</p>
<p>Then again, I also wish I had <a href="http://www.apple.com/macosx/">OS X</a> back when I was taking Perl, but that&#8217;s another story <img src='http://raoli.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>[via <a href="http://mjtsai.com/blog/2004/03/11/affrus&#95;10.html">Michael</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://raoli.com/2004/03/15/affrus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NSURLConnection and Amazon Web Services</title>
		<link>http://raoli.com/2004/03/11/nsurlconnection-and-amazon-web-services/</link>
		<comments>http://raoli.com/2004/03/11/nsurlconnection-and-amazon-web-services/#comments</comments>
		<pubDate>Fri, 12 Mar 2004 04:21:27 +0000</pubDate>
		<dc:creator>Eric Blair</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.raoli.com/?p=169</guid>
		<description><![CDATA[
Is anybody using NSURLConnection to interract with the Amazon.com Web Services? I&#8217;ve got some code that&#8217;s supposed to iterate through the pages of a wishlist, but it seems to choke on certain URLs &#8212; AWS returns the generic &#8220;We encountered an error processing your request. Please retry.&#8221; message.


I&#8217;m using the REST interface to AWS and [...]]]></description>
			<content:encoded><![CDATA[<p>
Is anybody using <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/ObjC&#95;classic/Classes/NSURLConnection.html#//apple&#95;ref/occ/cl/NSURLConnection">NSURLConnection</a> to interract with the <a href="http://www.amazon.com/gp/browse.html/102-0121369-8999356?node=3435361">Amazon.com Web Services</a>? I&#8217;ve got some code that&#8217;s supposed to iterate through the pages of a wishlist, but it seems to choke on certain URLs &#8212; <acronym title="Amazon Web Services">AWS</acronym> returns the generic &#8220;We encountered an error processing your request. Please retry.&#8221; message.
</p>
<p>
I&#8217;m using the <acronym title="Representational State Transfer">REST</acronym> interface to AWS and I&#8217;m making sure to leave at least 1 second between the end of one request and the beginning of the next.
</p>
<p>
If I grab the URL from the NSURLConnection and paste it into seemingly any other <acronym title="Hyper Text Transfer Protocol">HTTP</acronym> client, the results of the wishlist are properly downloaded. I&#8217;ve attempted this with IE, Safari, and curl.
</p>
<p>
Normally, I&#8217;d chalk this up to some random occurrence, but my code / AWS is choking on the same pages in a given wishlist every time. I&#8217;m not really sure how one goes about debugging connections with AWS, so if anybody has any tips they&#8217;de like to share, they&#8217;d be greatly appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://raoli.com/2004/03/11/nsurlconnection-and-amazon-web-services/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.307 seconds -->
