<?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>Expendable Words</title>
	<atom:link href="http://www.expendablewords.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.expendablewords.com</link>
	<description>about technology and software development</description>
	<lastBuildDate>Sat, 17 Mar 2012 20:24:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>iOS simulator crash when typing text into UITextField</title>
		<link>http://www.expendablewords.com/2012/03/17/ios-simulator-crash-when-typing-text-into-uitextfield/</link>
		<comments>http://www.expendablewords.com/2012/03/17/ios-simulator-crash-when-typing-text-into-uitextfield/#comments</comments>
		<pubDate>Sat, 17 Mar 2012 20:16:42 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.expendablewords.com/?p=327</guid>
		<description><![CDATA[I just spent hours tearing my app apart trying to figure out why it was crashing whenever I typed text into a UITextField. Turns out it&#8217;s an XCode / Simulator bug, and it only occurs for iOS 4.3 and on Lion. The workaround is to either disable auto correction on the UITextField, or disable it [...]]]></description>
			<content:encoded><![CDATA[<p>I just spent hours tearing my app apart trying to figure out why it was crashing whenever I typed text into a UITextField. Turns out it&#8217;s an XCode / Simulator bug, and it only occurs for iOS 4.3 and on Lion. The workaround is to either disable auto correction on the UITextField, or disable it in the simulator through the Settings app.</p>
<p>Here&#8217;s the <a href="http://stackoverflow.com/questions/5257175/uitextfield-auto-correction-crash-in-ios-4-3-on-simulator">Stack Overflow post</a> that finally led me to the solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.expendablewords.com/2012/03/17/ios-simulator-crash-when-typing-text-into-uitextfield/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iOS Icon Template for Illustrator</title>
		<link>http://www.expendablewords.com/2012/01/25/ios-icon-template-for-illustrator/</link>
		<comments>http://www.expendablewords.com/2012/01/25/ios-icon-template-for-illustrator/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 11:32:42 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[[amtap book:isbn=1449381650]]]></category>

		<guid isPermaLink="false">http://www.expendablewords.com/?p=316</guid>
		<description><![CDATA[I&#8217;ve had the need to calculate iOS icon corner radiuses and insets on several occasions, so I thought I&#8217;d create an Illustrator template for them. The template includes icons for iTunes, iPhone (Standard and Retina Display), and iPad, based on the dimensions I found in this stackoverflow question. Each icon has guides representing the corner rounding [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had the need to calculate iOS icon corner radiuses and insets on several occasions, so I thought I&#8217;d create an Illustrator template for them. The template includes icons for iTunes, iPhone (Standard and Retina Display), and iPad, based on the dimensions I found in this <a href="http://stackoverflow.com/questions/2105289/iphone-app-icons-exact-radius">stackoverflow question</a>. Each icon has guides representing the corner rounding mask that Apple automatically applies, as well as 15%, 20% and 25% artwork insets within that boundary.</p>
<p>Here&#8217;s the <a href="http://www.expendablewords.com/wp-content/uploads/2012/01/ios-icon-template.eps_.zip">template</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.expendablewords.com/2012/01/25/ios-icon-template-for-illustrator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPad Video Playlist Alternative</title>
		<link>http://www.expendablewords.com/2012/01/16/ipad-video-playlist-alternative/</link>
		<comments>http://www.expendablewords.com/2012/01/16/ipad-video-playlist-alternative/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 11:45:10 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.expendablewords.com/?p=309</guid>
		<description><![CDATA[I recently bought my son the Audio + Video version of They Might Be Giants &#8220;Here Comes Science&#8221; on iTunes. It includes a video for each song, about 40 minutes in total. When played from iTunes it&#8217;s a continuous stream; as one clip finishes the next starts automatically. I was hoping it would work the [...]]]></description>
			<content:encoded><![CDATA[<p>I recently bought my son the Audio + Video version of <a href="http://itunes.apple.com/us/album/here-comes-science-audio-video/id328074265">They Might Be Giants &#8220;Here Comes Science&#8221;</a> on iTunes. It includes a video for each song, about 40 minutes in total. When played from iTunes it&#8217;s a continuous stream; as one clip finishes the next starts automatically. I was hoping it would work the same way on the iPad, but unfortunately it doesn&#8217;t. There it stops after each clip and returns you to the main screen where you have to manually start the next. Not great for a 1 year old.</p>
<p>I found <a href="http://blog.vinhkhoa.com/article/How-to-play-videos-continuously-on-iPad">this blog post</a>, which suggests that you workaround this by converting the videos into episodes of a TV season. That seems like it would work, but it&#8217;s kind of a pain since it requires you to make the change in iTunes on a computer, then sync the videos back to the iPad.</p>
<p>After a little more searching, I found an iPad app called <a href="http://itunes.apple.com/us/app/video-playlist/id415345444?mt=8">Video Playlist</a>. It&#8217;s not ideal since you have to play the videos from within it rather than the built in Videos app, but it does work. Hopefully Apple will provide native support for this at some point, but in the mean time Video Playlist does the trick.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.expendablewords.com/2012/01/16/ipad-video-playlist-alternative/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FMDB like condition with bind parameters</title>
		<link>http://www.expendablewords.com/2012/01/10/fmdb-like-condition-bind-parameters/</link>
		<comments>http://www.expendablewords.com/2012/01/10/fmdb-like-condition-bind-parameters/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 11:15:18 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[[amtap book:isbn=0596521189]]]></category>
		<category><![CDATA[[amtap book:isbn=1430233559]]]></category>

		<guid isPermaLink="false">http://www.expendablewords.com/?p=290</guid>
		<description><![CDATA[I&#8217;m working on an iOS project that uses the FMDB SQLite wrapper. I was trying to write a query with like condition and bind parameter, and it wasn&#8217;t returning any results. For example: SELECT * FROM stuff WHERE name LIKE '%?%' It turns out that this is because %?% is being treated as a string [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on an iOS project that uses the FMDB SQLite wrapper. I was trying to write a query with like condition and bind parameter, and it wasn&#8217;t returning any results. For example:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> stuff <span style="color: #993333; font-weight: bold;">WHERE</span> name <span style="color: #993333; font-weight: bold;">LIKE</span> <span style="color: #ff0000;">'%?%'</span></pre></div></div>

<p>It turns out that this is because %?% is being treated as a string literal since it&#8217;s inside single quotes. To workaround this, you just need to build the condition using the ANSI SQL concatenation operator (||), just like if you were concatenating a String. For example:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> stuff <span style="color: #993333; font-weight: bold;">WHERE</span> name <span style="color: #993333; font-weight: bold;">LIKE</span> <span style="color: #ff0000;">'%'</span> <span style="color: #66cc66;">||</span> ? <span style="color: #66cc66;">||</span> <span style="color: #ff0000;">'%'</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.expendablewords.com/2012/01/10/fmdb-like-condition-bind-parameters/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Switching Xbox 360 from 480p to HD mode</title>
		<link>http://www.expendablewords.com/2012/01/08/xbox-360-480p-hd/</link>
		<comments>http://www.expendablewords.com/2012/01/08/xbox-360-480p-hd/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 15:56:43 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[01[amtap amazon:asin=B000B6MLPU]]]></category>
		<category><![CDATA[02[amtap amazon:asin=B00316263Y]]></category>
		<category><![CDATA[HDTV]]></category>
		<category><![CDATA[Xbox 360]]></category>

		<guid isPermaLink="false">http://www.expendablewords.com/?p=256</guid>
		<description><![CDATA[I bought an Xbox 360 for Christmas, and while setting it up I was kind of disappointed to find that my only display option was 480p. As it turns out, you can switch to HD mode, but it requires that you replace the included Composite cable with a Component or HDMI cable. Microsoft offers a [...]]]></description>
			<content:encoded><![CDATA[<p>I bought an Xbox 360 for Christmas, and while setting it up I was kind of disappointed to find that my only display option was 480p. As it turns out, you <em>can</em> switch to HD mode, but it requires that you replace the included Composite cable with a Component or HDMI cable.</p>
<p>Microsoft offers a <a href="http://www.amazon.com/gp/product/B000B6MLPU/ref=as_li_tf_tl?ie=UTF8&#038;tag=expenwords-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B000B6MLPU">Component cable</a>, which has an Xbox 360 AV connector on one end, and Component (Red, Green, Blue, Yellow, Red, White) connectors for audio and video on the other end. Newer Xbox 360 models also include an HDMI port, and you can connect them directly to your TV with a standard <a href="http://www.amazon.com/gp/product/B00316263Y/ref=as_li_tf_tl?ie=UTF8&#038;tag=expenwords-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B00316263Y">HDMI cable</a>. The HDMI cable will send both video and audio to your TV, but you can also send audio through to your stereo or home theatre with a separate AV audio cable.</p>
<p>Once you have your cable connected, go to <em>Settings > System > Console Settings > Display > HDTV Settings</em> from the home screen. You should now see options for 720p, 1080i and 1080p (some may be disabled depending on your TV capabilities). <strong>If you went with the Component option, and you still don&#8217;t see anything but 480p, make sure that the <em>TV / HDTV</em> switch on the cable is set to <em>HDTV</em>.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.expendablewords.com/2012/01/08/xbox-360-480p-hd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Otterbox Defender for iPhone 4 Review</title>
		<link>http://www.expendablewords.com/2012/01/07/otterbox-defender-iphone-4-review/</link>
		<comments>http://www.expendablewords.com/2012/01/07/otterbox-defender-iphone-4-review/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 20:40:38 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[[amtap amazon:asin=B004M5KV3A]]]></category>
		<category><![CDATA[[amtap amazon:asin=B004SK327Q]]]></category>
		<category><![CDATA[[amtap amazon:asin=B005SUHPGE]]]></category>

		<guid isPermaLink="false">http://www.expendablewords.com/?p=243</guid>
		<description><![CDATA[Update: I have received a couple questions about which dock I&#8217;m using. Unfortunately, it seems to be discontinued, however I have seen reports that the SendStation Dock Extender works with the iPhone 4 Defender. I&#8217;ve never been easy on my iPhones, and now that I have a 15 month old son whose favorite toys are [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update: I have received a couple questions about which dock I&#8217;m using. Unfortunately, it seems to be discontinued, however I have seen reports that the <a href="http://www.amazon.com/gp/product/B000RI09GU/ref=as_li_ss_tl?ie=UTF8&#038;tag=expenwords-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B000RI09GU">SendStation Dock Extender</a> works with the iPhone 4 Defender.</a></strong></p>
<p>I&#8217;ve never been easy on my iPhones, and now that I have a 15 month old son whose favorite toys are iDevices, things have just gotten worse. Even still, my iPhones have always remained relatively unscathed, until now.</p>
<p>I bought my iPhone 4 back on release day in June 2010. For my previous iPhones, I&#8217;ve always gone case-free, but I decided to try one when Apple gave them away following &#8220;antenna gate&#8221;. I selected the <a href="http://www.amazon.com/gp/product/B0048MJ5IO/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=expenwords-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B0048MJ5IO">Incase Snap Case</a>, which I liked based on its slim profile, and because it actually made the phone more comfortable to hold. It&#8217;s a good case, and I&#8217;ve used it for over a year, but the downside is that it really doesn&#8217;t provide much protection for the front glass.</p>
<p>Even still, my iPhone had survived hundreds of drops on all kinds of surfaces until about 3 months ago when I got a tiny crack in the bottom corner of the screen. The crack was hardly visible, but it did make the lower screen less touch sensitive, which was a bit of an annoyance. I had planned to live with this until my AT&amp;T contract expires in 2012, but last week I dropped the phone face down on the sidewalk, which took care of the glass for good.</p>
<p>Fortunately, Apple was willing replace it for $150, even though I hadn&#8217;t purchased the extended AppleCare coverage (very cool of them). Now I&#8217;m hoping to keep the new phone in good condition so that I can resell it when the 2012 iPhone comes out.</p>
<p>In discussing more protective cases, a co-worker suggested the <a href="http://www.amazon.com/gp/product/B004M5KV3A/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=expenwords-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B004M5KV3A">Otterbox Defender</a>. My initial impression was that it was too bulky, but it did seem protective, so I thought I&#8217;d give it a try. Amazon offers several different color options which range from $20-$25, and I decided to go with the Black and White model.</p>
<div id="attachment_251" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.expendablewords.com/wp-content/uploads/2012/01/otterbox-profile.jpg"><img class="size-medium wp-image-251" title="otterbox-profile" src="http://www.expendablewords.com/wp-content/uploads/2012/01/otterbox-profile-300x179.jpg" alt="" width="300" height="179" /></a><p class="wp-caption-text">Profiles of Otterbox Defender, iPhone 4 and Incase Snap Case</p></div>
<p style="text-align: left;">I received the Otterbox today, and it definitely <em>is</em> much more bulky than my old case. The additional thickness doesn&#8217;t cause the phone to feel much different in my pocket, which was my primary concern. With the case on, the iPhone sits within a hard plastic shell, which is then wrapped in an outer rubber covering. Both the front and back glass are inset well inside the plastic case, very well protected from impact. The rubber covering is texturized, and gives the iPhone a ruggedized look and feel. The plastic case has a screen cover built in, which I also didn&#8217;t think I&#8217;d like. After using it for the day, I&#8217;ve almost completely forgotten that it&#8217;s there, so I don&#8217;t think it will be a problem going forward. The case also comes with a substantial belt clip, which when fully assembled is about the size of the case itself.</p>
<div class="mceTemp mceIEcenter" style="text-align: left;">
<dl id="attachment_248" class="wp-caption aligncenter" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://www.expendablewords.com/wp-content/uploads/2012/01/otterbox-parts.jpg"><img class="size-medium wp-image-248 " title="otterbox-parts" src="http://www.expendablewords.com/wp-content/uploads/2012/01/otterbox-parts-300x179.jpg" alt="" width="300" height="179" /></a></dt>
<dd class="wp-caption-dd">Inner plastic case and outer rubber case</dd>
</dl>
</div>
<p style="text-align: left;">The only thing that I really dislike about the Otterbox is that you have to lift a small rubber flap to plug in headphones. I use my headphones all the time, so it seems like this will be kind of annoying. The flap has a hole, which appears to be intended for the headphone jack, but it does not properly align. At first this seemed like a defect, but the Otterbox FAQ says that the hole is actually intended for the microphone instead of the headphone jack.</p>
<div id="attachment_249" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.expendablewords.com/wp-content/uploads/2012/01/otterbox-jack.jpg"><img class="size-medium wp-image-249 " title="otterbox-jack" src="http://www.expendablewords.com/wp-content/uploads/2012/01/otterbox-jack-300x179.jpg" alt="" width="300" height="179" /></a><p class="wp-caption-text">Headphone jack flap</p></div>
<p>The only other possible area of concern is docking. The case has a rubber flap that exposes the connector on the bottom of the iPhone, but it&#8217;s likely that the size of the case will prevent it from fitting properly into some docks. I use a third party dock that&#8217;s similar to the Apple iPhone dock, and after completely removing the custom molding for various iPhone models, my phone fits in the dock nicely with the Otterbox cover on.</p>
<div id="attachment_250" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.expendablewords.com/wp-content/uploads/2012/01/otterbox-base.jpg"><img class="size-medium wp-image-250" title="otterbox-base" src="http://www.expendablewords.com/wp-content/uploads/2012/01/otterbox-base-300x179.jpg" alt="" width="300" height="179" /></a><p class="wp-caption-text">Docked in base</p></div>
<p>The bottom line is that the <a href="http://www.amazon.com/gp/product/B004M5KV3A/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=expenwords-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B004M5KV3A">Otterbox Defender</a> is good choice if durability is your primary concern, and you don&#8217;t mind adding significant bulk and loosing some of the iPhone&#8217;s design aesthetic to get it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.expendablewords.com/2012/01/07/otterbox-defender-iphone-4-review/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hosting an svn server on Mac OS X</title>
		<link>http://www.expendablewords.com/2011/12/29/hosting-an-svn-server-on-mac-os-x/</link>
		<comments>http://www.expendablewords.com/2011/12/29/hosting-an-svn-server-on-mac-os-x/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 15:01:16 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[[amtap book:isbn=0596510330]]]></category>
		<category><![CDATA[[amtap book:isbn=0596520123]]]></category>

		<guid isPermaLink="false">http://www.expendablewords.com/?p=187</guid>
		<description><![CDATA[Over the past few years I&#8217;ve tried Beanstalk, Assembla and several other svn hosts for some of my projects. They all worked great, and none of them gave me reason for concern, but in the end I&#8217;m just more comfortable hosting my source internally. I have a Mac Mini that serves as a Media Center [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few years I&#8217;ve tried Beanstalk, Assembla and several other svn hosts for some of my projects. They all worked great, and none of them gave me reason for concern, but in the end I&#8217;m just more comfortable hosting my source internally.</p>
<p>I have a Mac Mini that serves as a Media Center in my living room. I also use it for some home server tasks since it&#8217;s always on and well backed up. I&#8217;ve setup svn + apache servers on Linux before, and I figured it should be easy to do the same thing on OS X since it ships with all of the necessary components. Apple makes it easy to configure OS X Server for svn hosting, but it can also be configured on standard OS X with a little command line work.</p>
<p>To get started, open Terminal and execute the following commands. Note that you&#8217;ll need to execute all of the commands as sudo since they&#8217;re operating on protected directories.</p>
<h3>1: Create a repository</h3>
<p>First you&#8217;ll need to create a repository. I created the repository in /usr/local, but the location doesn&#8217;t matter (just make sure you edit the location in Step 2 if you choose something else).</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">sudo mkdir /usr/local/svn; sudo svnadmin create /usr/local/svn/repo</pre></div></div>

<p>After you&#8217;ve created the repository, you&#8217;ll need to change the owner to www so that Apache has permission to access it.</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">sudo chown -R www /usr/local/svn</pre></div></div>

<h3>2: Configure Apache for SVN Access</h3>
<p>Next you&#8217;ll need to define the configuration that tells Apache that it should provide WebDAV access to your repository. This can be done by adding a new configuration file in /etc/apache2/other. The default Apache configuration automatically includes any supplemental configuration files from this location.</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">echo &quot;LoadModule dav_svn_module /usr/libexec/apache2/mod_dav_svn.so
&lt;Location /svn&gt;
  DAV svn
  SVNParentPath /usr/local/svn
  AuthType Basic
  AuthName \&quot;Subversion repository\&quot;
  AuthUserFile /etc/apache2/svn-auth
  Require valid-user
&lt;/Location&gt;&quot; | sudo tee -a /etc/apache2/other/svn.conf</pre></div></div>

<h3>3: Create a User Account</h3>
<p>Next you&#8217;ll need to define a user account for accessing Subversion via Apache. This can be done by running the following command (replace YOUR_USERNAME with your chosen username).</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">sudo htpasswd -c /etc/apache2/svn-auth YOUR_USERNAME</pre></div></div>

<p>You may be asked for several passwords here:</p>
<ul>
<li>If prompted for <em>Password:</em> then enter your Mac OS X password. This is being requested because you&#8217;re running the command with sudo. You may not be prompted if you&#8217;ve run another sudo command in the last few minutes.</li>
<li>When prompted for <em>New Password:</em> it&#8217;s asking for a new svn password for the account you&#8217;re creating</li>
<li>When prompted for <em>Re-type Password:</em> it&#8217;s asking for you to confirm your new svn password</li>
</ul>
<h3>4: Restart Apache</h3>
<p>Once this is done, the only remaining step is to restart Apache. You can do this by restarting the Web Sharing service in System Preferences (or starting it if it&#8217;s not running). To do this, go to System Preferences &gt; Sharing &gt; Web Sharing and deselect / re-select the checkbox to restart.</p>
<p>Once this is done, you should be able to access your svn repository at: <a href="http://localhost/svn/repo">http://localhost/svn/repo</a>. You will be prompted to enter a username and password. Use whatever you provided in step 3. Enjoy your new repository!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.expendablewords.com/2011/12/29/hosting-an-svn-server-on-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>App Engine + JSP + Jersey Viewable Example</title>
		<link>http://www.expendablewords.com/2011/12/28/app-engine-jsp-jersey-viewable-example/</link>
		<comments>http://www.expendablewords.com/2011/12/28/app-engine-jsp-jersey-viewable-example/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 12:25:34 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[App Engine]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Jersey]]></category>
		<category><![CDATA[JSP]]></category>
		<category><![CDATA[[amtap book:isbn=0596158041]]]></category>
		<category><![CDATA[[amtap book:isbn=0596529260]]]></category>

		<guid isPermaLink="false">http://www.expendablewords.com/?p=189</guid>
		<description><![CDATA[I&#8217;m putting together a simple App Engine webapp that&#8217;s using Jersey as the controller and JSP for the view. Wrapping a Jersey Viewable in a Response, provides a clean way to do this, but I had a bit of trouble getting everything wired up properly. After a little googling I found a post over at [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m putting together a simple App Engine webapp that&#8217;s using Jersey as the controller and JSP for the view. Wrapping a Jersey <a href="http://jersey.java.net/nonav/apidocs/latest/jersey/com/sun/jersey/api/view/Viewable.html">Viewable</a> in a Response, provides a clean way to do this, but I had a bit of trouble getting everything wired up properly. After a little googling I found a post over at <a href="http://blog.docuverse.com/2009/08/04/using-jsp-with-jersey-jax-rs-implementation/">Don Park’s Daily Habit</a> that helped me get things right. Here&#8217;s a full working example for anyone who&#8217;s trying to do the same thing:</p>
<h3>Required JARs</h3>
<p>I&#8217;m using Jersey 1.11</p>
<ul>
<li>asm-3.1.jar</li>
<li>jersey-core-1.11.jar</li>
<li>jersey-server-1.11.jar</li>
<li>jersey-servlet-1.11.jar</li>
</ul>
<h3>web.xml</h3>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #339933;">&lt;!--?</span>xml version<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;1.0&quot;</span> encoding<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;utf-8&quot;</span><span style="color: #339933;">?--&gt;</span>
&nbsp;
		JaxRsApplication
		com.<span style="color: #006633;">sun</span>.<span style="color: #006633;">jersey</span>.<span style="color: #006633;">spi</span>.<span style="color: #006633;">container</span>.<span style="color: #006633;">servlet</span>.<span style="color: #006633;">ServletContainer</span>
&nbsp;
javax.<span style="color: #006633;">ws</span>.<span style="color: #006633;">rs</span>.<span style="color: #006633;">Application</span>
example.<span style="color: #006633;">JaxRsApplication</span>
&nbsp;
com.<span style="color: #006633;">sun</span>.<span style="color: #006633;">jersey</span>.<span style="color: #006633;">config</span>.<span style="color: #006633;">property</span>.<span style="color: #006633;">JSPTemplatesBasePath</span>
<span style="color: #339933;">/</span>WEB<span style="color: #339933;">-</span>INF<span style="color: #339933;">/</span>jsp
&nbsp;
com.<span style="color: #006633;">sun</span>.<span style="color: #006633;">jersey</span>.<span style="color: #006633;">config</span>.<span style="color: #006633;">property</span>.<span style="color: #006633;">WebPageContentRegex</span>
<span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span>images<span style="color: #339933;">|</span>js<span style="color: #339933;">|</span>styles<span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>WEB<span style="color: #339933;">-</span>INF<span style="color: #339933;">/</span>jsp<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span>.<span style="color: #339933;">*</span>
&nbsp;
		JaxRsApplication
		<span style="color: #666666; font-style: italic;">/*</span></pre></div></div>

<h3>JAX-RS Application</h3>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">example</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.HashSet</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Set</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.ws.rs.core.Application</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> JaxRsApplication <span style="color: #000000; font-weight: bold;">extends</span> Application <span style="color: #009900;">&#123;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> Set<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> getClasses<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		Set<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> classes <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> HashSet<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		classes.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>HomeResource.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">return</span> classes<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h3>Root Resource</h3>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">example</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.HashMap</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Map</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.ws.rs.GET</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.ws.rs.Path</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.ws.rs.core.Response</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.sun.jersey.api.view.Viewable</span><span style="color: #339933;">;</span>
&nbsp;
@Path<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> HomeResource <span style="color: #009900;">&#123;</span>
&nbsp;
	@GET
	<span style="color: #000000; font-weight: bold;">public</span> Response get<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #003399;">Map</span> model <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">HashMap</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		model.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;word&quot;</span>, <span style="color: #0000ff;">&quot;World&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">return</span> Response.<span style="color: #006633;">ok</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Viewable<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/home&quot;</span>, model<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">build</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h3>/WEB-INF/jsp/home.jsp</h3>

<div class="wp_syntax"><div class="code"><pre class="jsp" style="font-family:monospace;">&lt;!--?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?--&gt;
Hello ${it.word}</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.expendablewords.com/2011/12/28/app-engine-jsp-jersey-viewable-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Security Now</title>
		<link>http://www.expendablewords.com/2009/01/06/this-week%e2%80%99s-episode-of-the-security-now-podcast-was-one-of/</link>
		<comments>http://www.expendablewords.com/2009/01/06/this-week%e2%80%99s-episode-of-the-security-now-podcast-was-one-of/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 03:30:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Interesting]]></category>

		<guid isPermaLink="false">http://tumblr.expendablewords.com/post/68848105</guid>
		<description><![CDATA[This week’s episode of the Security Now podcast was one of my favorites… it includes an explanation of how security researchers successfully forged a root certificate authority by brute forcing md5 with Playstations, a great story about an early PC called the PDP-8, and some information on a new small(er) form factor, instant charging, and [...]]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="207" height="27" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://tumblr.expendablewords.com/swf/audio_player.swf?audio_file=http://www.tumblr.com/audio_file/68848105/MY5MQhOsgiez9vc6sydSNQX4&amp;color=FFFFFF" /><param name="quality" value="best" /><embed type="application/x-shockwave-flash" width="207" height="27" src="http://tumblr.expendablewords.com/swf/audio_player.swf?audio_file=http://www.tumblr.com/audio_file/68848105/MY5MQhOsgiez9vc6sydSNQX4&amp;color=FFFFFF" quality="best"></embed></object></p>
<p>This week’s episode of the Security Now podcast was one of my favorites… it includes an explanation of how security researchers successfully forged a root certificate authority by brute forcing md5 with Playstations, a great story about an early PC called the PDP-8, and some information on a new small(er) form factor, instant charging, and non-toxic battery technology that was recently patented. Not all security stuff, but definitely interesting. All episodes can be downloaded <a href="http://www.grc.com/securitynow.htm">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.expendablewords.com/2009/01/06/this-week%e2%80%99s-episode-of-the-security-now-podcast-was-one-of/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pulsar</title>
		<link>http://www.expendablewords.com/2009/01/05/pulsar/</link>
		<comments>http://www.expendablewords.com/2009/01/05/pulsar/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 16:04:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cheers]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[XM Radio]]></category>

		<guid isPermaLink="false">http://tumblr.expendablewords.com/post/68513776</guid>
		<description><![CDATA[Pulsar: Absolutely loving Pulsar, the new XM/Sirius player for the Mac by Rogue Amoeba. I use it to listen to XM while at work, and also through my Apple TV at home (via Airfoil, another Rogue Amoeba product). Best of all I got Pulsar for free as an existing Rouge Amoeba product owner. See this [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://rogueamoeba.com/pulsar/">Pulsar</a>: Absolutely loving Pulsar, the new XM/Sirius player for the Mac by Rogue Amoeba. I use it to listen to XM while at work, and also through my Apple TV at home (via Airfoil, another Rogue Amoeba product). Best of all I got Pulsar for free as an existing Rouge Amoeba product owner. See <a href="http://rogueamoeba.com/store/deals/ComplimentaryPulsar.php">this page</a> for details on that offer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.expendablewords.com/2009/01/05/pulsar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

