<?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>Factory-H</title>
	<atom:link href="http://www.factory-h.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.factory-h.com/blog</link>
	<description>brought to you by Darrel Herbst</description>
	<lastBuildDate>Fri, 06 Aug 2010 15:30:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Google AppEngine adds blacklists</title>
		<link>http://www.factory-h.com/blog/?p=143</link>
		<comments>http://www.factory-h.com/blog/?p=143#comments</comments>
		<pubDate>Fri, 28 May 2010 20:54:28 +0000</pubDate>
		<dc:creator>dar</dc:creator>
				<category><![CDATA[AppEngine]]></category>

		<guid isPermaLink="false">http://www.factory-h.com/blog/?p=143</guid>
		<description><![CDATA[Not sure when this got added, but you can now see the ip&#8217;s most accessing your app, and hopefully you can block someone from using up your quota. http://code.google.com/appengine/kb/general.html#blacklists]]></description>
			<content:encoded><![CDATA[<p>Not sure when this got added, but you can now see the ip&#8217;s most accessing your app, and hopefully you can block someone from using up your quota.</p>
<p><a title="http://code.google.com/appengine/kb/general.html#blacklists" href="http://code.google.com/appengine/kb/general.html#blacklists">http://code.google.com/appengine/kb/general.html#blacklists</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.factory-h.com/blog/?feed=rss2&amp;p=143</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using django.contrib.sitemaps on AppEngine</title>
		<link>http://www.factory-h.com/blog/?p=138</link>
		<comments>http://www.factory-h.com/blog/?p=138#comments</comments>
		<pubDate>Mon, 17 May 2010 13:45:55 +0000</pubDate>
		<dc:creator>dar</dc:creator>
				<category><![CDATA[AppEngine]]></category>
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://www.factory-h.com/blog/?p=138</guid>
		<description><![CDATA[If you use Google AppEngine and want to use the sites and sitemaps contrib apps you can use this modified version of the google-app-engine-django helper here: http://code.google.com/p/dherbst-app-engine-django/wiki/Sitemaps]]></description>
			<content:encoded><![CDATA[<p>If you use Google AppEngine and want to use the sites and sitemaps contrib apps you can use this modified version of the google-app-engine-django helper here: <a title="http://code.google.com/p/dherbst-app-engine-django/wiki/Sitemaps" href="http://code.google.com/p/dherbst-app-engine-django/wiki/Sitemaps">http://code.google.com/p/dherbst-app-engine-django/wiki/Sitemaps</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.factory-h.com/blog/?feed=rss2&amp;p=138</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up Flowplayer with Amazon Cloudfront and Token access</title>
		<link>http://www.factory-h.com/blog/?p=129</link>
		<comments>http://www.factory-h.com/blog/?p=129#comments</comments>
		<pubDate>Wed, 21 Apr 2010 12:37:08 +0000</pubDate>
		<dc:creator>dar</dc:creator>
				<category><![CDATA[flowplayer]]></category>

		<guid isPermaLink="false">http://www.factory-h.com/blog/?p=129</guid>
		<description><![CDATA[Amazon has added token based access to the cloudfront rtmp servers here: http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/index.html?PrivateContent.html This means you can put some control around who accesses your content. Here is one way to set up flowplayer to use this: &#60;script type="text/javascript" src="http://static.flowplayer.org/js/flowplayer-3.1.4.min.js"&#62;&#60;/script&#62; &#60;div class="player" id="id_flowplayer" style="width:640px;height:320px;"&#62; &#60;/div&#62; &#60;script language='javascript'&#62; flowplayer("id_flowplayer", "http://releases.flowplayer.org/swf/flowplayer-3.1.5.swf", { log: { level:"debug",filter:'org.flowplayer.rtmp.*' }, clip: { [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Amazon has added token based access to the cloudfront rtmp servers here: <a href="http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/index.html?PrivateContent.html">http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/index.html?PrivateContent.html</a></p>
<p style="text-align: left;">This means you can put some control around who accesses your content.</p>
<p style="text-align: left;">Here is one way to set up flowplayer to use this:</p>
<p style="text-align: left;"><code> </code></p>
<pre style="text-align: left;">&lt;script type="text/javascript" src="http://static.flowplayer.org/js/flowplayer-3.1.4.min.js"&gt;&lt;/script&gt;
&lt;div class="player" id="id_flowplayer" style="width:640px;height:320px;"&gt;
&lt;/div&gt;
&lt;script language='javascript'&gt;
flowplayer("id_flowplayer", "http://releases.flowplayer.org/swf/flowplayer-3.1.5.swf", {
 log: { level:"debug",filter:'org.flowplayer.rtmp.*' },
 clip: {
   autoPlay:false,
   // This is the path to the video file
   url: encodeURIComponent('flv:test.mp4?Expires=1258237200&amp;Signature=TBD&amp;Key-Pair-Id=PK123456789754'),
   provider: 'aws'
 },
 // streaming plugins are configured under the plugins node
 plugins: {
   // here is our rtmp plugin configuration, configured for AWS
   aws: {
      url: 'http://releases.flowplayer.org/swf/flowplayer.rtmp-3.1.3.swf',
      // netConnectionUrl defines where the streams are found
      netConnectionUrl: 'rtmp://your aws hostname.cloudfront.net/cfx/st'
   }
 }
});
&lt;/script&gt;</pre>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.factory-h.com/blog/?feed=rss2&amp;p=129</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android maps tip &#8211; tap on an address in gmail to open maps</title>
		<link>http://www.factory-h.com/blog/?p=127</link>
		<comments>http://www.factory-h.com/blog/?p=127#comments</comments>
		<pubDate>Sat, 10 Apr 2010 11:16:44 +0000</pubDate>
		<dc:creator>dar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.factory-h.com/blog/?p=127</guid>
		<description><![CDATA[Here&#8217;s an interesting maps tip &#8211; when someone emails you an address, like 825 Walnut Street, Philadelphia, PA 19107-5195 (Walnut Street Theater) you can tap the address part in the gmail app and it will automatically open the google map application to that address. Very handy, as it doesn&#8217;t underline the address like a link, [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s an interesting maps tip &#8211; when someone emails you an address, like 825 Walnut Street, Philadelphia, PA 19107-5195 (Walnut Street Theater) you can tap the address part in the gmail app and it will automatically open the google map application to that address.</p>
<p>Very handy, as it doesn&#8217;t underline the address like a link, so you don&#8217;t know you can tap the address unless you know the tip.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.factory-h.com/blog/?feed=rss2&amp;p=127</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Does html5 video work in Android?</title>
		<link>http://www.factory-h.com/blog/?p=121</link>
		<comments>http://www.factory-h.com/blog/?p=121#comments</comments>
		<pubDate>Wed, 07 Apr 2010 14:03:41 +0000</pubDate>
		<dc:creator>dar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.factory-h.com/blog/?p=121</guid>
		<description><![CDATA[In the interest of finding the right answer by posting (possibly) incorrect information, here goes. Transcode an H.264 video to something that works great on the ipad/iphone: video: avc1, 29.97 fps, 380 kbps, 480 x 370 Audio: mp4a, 44 kHz, 64 kbps Put together a page and view it on the iphone/ipad: &#60;!DOCTYPE html&#62; &#60;html&#62;&#60;head&#62;&#60;title&#62;html5 [...]]]></description>
			<content:encoded><![CDATA[<p>In the interest of finding the right answer by posting (possibly) incorrect information, here goes.</p>
<p>Transcode an H.264 video to something that works great on the ipad/iphone: video: avc1, 29.97 fps, 380 kbps, 480 x 370 Audio:  mp4a, 44 kHz, 64 kbps</p>
<p>Put together a page and view it on the iphone/ipad:</p>
<p><code><br />
&lt;!DOCTYPE html&gt;<br />
&lt;html&gt;&lt;head&gt;&lt;title&gt;html5 test&lt;/title&gt;&lt;/head&gt;&lt;body&gt;<br />
&lt;video id="movie" width="480" height="370" poster="http://example.com/still.jpg" controls&gt;<br />
&lt;source src="http://example.com/video.mp4" type="video/mp4"&gt;<br />
Your browser does not support html5 video.<br />
&lt;/video&gt;<br />
&lt;/body&gt;&lt;/html&gt;<br />
</code></p>
<p>View it on the iphone/ipad &#8211; wonderful html5 video plays.</p>
<p>View it on Android 1.6 (G1) &#8211; Nope, get &#8220;Your browser does not support html5 video&#8221;.<br />
View it on Android 2.1 (Nexus One) &#8211; See the poster image, and if you add the onclick hack below the video will play in the media player.<br />
View it on Android 2.2 (Nexus One) &#8211; See the poster image, but clicking the poster does nothing, cannot view video.</p>
<p>When will Android support html5 video?</p>
<p><strong>Update:</strong><br />
Found a message from <a href="http://groups.google.com/group/android-developers/browse_thread/thread/400dc61d41530242/c071c0f9712f7171?lnk=gst&amp;q=html5#c071c0f9712f7171">Dan Morrill</a> html5 video is not supported at this time in the browser.</p>
<p><strong>Update 2:</strong><br />
Some people have found some level of success by adding <code>onclick="this.play();"</code> to the <code>&lt;video&gt;</code> tag, but this doesn&#8217;t always work, for instance it used to work with Android 2.1 on the Nexus One, but since upgrading to Android 2.2 it no longer works.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.factory-h.com/blog/?feed=rss2&amp;p=121</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://example.com/video.mp4" length="0" type="video/mp4" />
		</item>
		<item>
		<title>postMessage doesn&#8217;t work in IE if you mix http and https</title>
		<link>http://www.factory-h.com/blog/?p=119</link>
		<comments>http://www.factory-h.com/blog/?p=119#comments</comments>
		<pubDate>Tue, 06 Apr 2010 15:18:49 +0000</pubDate>
		<dc:creator>dar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.factory-h.com/blog/?p=119</guid>
		<description><![CDATA[What&#8217;s the point of implementing postMessage if you can&#8217;t communicate across http and https versions of your page? http://msdn.microsoft.com/en-us/library/cc197015%28VS.85%29.aspx]]></description>
			<content:encoded><![CDATA[<p>What&#8217;s the point of implementing postMessage if you can&#8217;t communicate across http and https versions of your page?</p>
<p>http://msdn.microsoft.com/en-us/library/cc197015%28VS.85%29.aspx</p>
]]></content:encoded>
			<wfw:commentRss>http://www.factory-h.com/blog/?feed=rss2&amp;p=119</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django forms remove : (colon) in label</title>
		<link>http://www.factory-h.com/blog/?p=117</link>
		<comments>http://www.factory-h.com/blog/?p=117#comments</comments>
		<pubDate>Fri, 12 Mar 2010 15:35:58 +0000</pubDate>
		<dc:creator>dar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.factory-h.com/blog/?p=117</guid>
		<description><![CDATA[Django forms add a colon &#8220;:&#8221; to each label by default. You can turn this off by setting label_suffix="" when you create your form.]]></description>
			<content:encoded><![CDATA[<p>Django forms add a colon &#8220;:&#8221; to each label by default.  You can turn this off by setting <code>label_suffix=""</code> when you create your form.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.factory-h.com/blog/?feed=rss2&amp;p=117</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10+ releases a day takeaway</title>
		<link>http://www.factory-h.com/blog/?p=115</link>
		<comments>http://www.factory-h.com/blog/?p=115#comments</comments>
		<pubDate>Mon, 22 Feb 2010 03:46:19 +0000</pubDate>
		<dc:creator>dar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[django testing]]></category>

		<guid isPermaLink="false">http://www.factory-h.com/blog/?p=115</guid>
		<description><![CDATA[I found this via the etsy &#8220;code as craft&#8221; blog: http://velocityconference.blip.tv/file/2284377/ My big takeaway is validation of something I have always done &#8211; code configuration by user/bucket/site is a &#8220;good thing&#8221;. It&#8217;s so much easier to roll out changes to a select population and deal with changes that way. Something I like to do using [...]]]></description>
			<content:encoded><![CDATA[<p>I found this via the etsy &#8220;<a title="Code as Craft" href="http://codeascraft.etsy.com/">code as craft</a>&#8221; blog: <a title="http://velocityconference.blip.tv/file/2284377/" href="http://velocityconference.blip.tv/file/2284377/">http://velocityconference.blip.tv/file/2284377/</a></p>
<p>My big takeaway is validation of something I have always done &#8211; code configuration by user/bucket/site is a &#8220;good thing&#8221;.  It&#8217;s so much easier to roll out changes to a select population and deal with changes that way.  Something I like to do using django groups.  It is a sort of a/b testing, but just a little different.  Very useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.factory-h.com/blog/?feed=rss2&amp;p=115</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>boxee app won&#8217;t load</title>
		<link>http://www.factory-h.com/blog/?p=114</link>
		<comments>http://www.factory-h.com/blog/?p=114#comments</comments>
		<pubDate>Sat, 20 Feb 2010 20:19:50 +0000</pubDate>
		<dc:creator>dar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[boxee]]></category>

		<guid isPermaLink="false">http://www.factory-h.com/blog/?p=114</guid>
		<description><![CDATA[I&#8217;m very grateful there is a boxee.log file written, otherwise I would not have thought that boxee was going to try to load the main.xml~ instead of main.xml by default!]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m very grateful there is a boxee.log file written, otherwise I would not have thought that boxee was going to try to load the main.xml~ instead of main.xml by default!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.factory-h.com/blog/?feed=rss2&amp;p=114</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AppEngine Design Philosophy</title>
		<link>http://www.factory-h.com/blog/?p=111</link>
		<comments>http://www.factory-h.com/blog/?p=111#comments</comments>
		<pubDate>Sat, 13 Feb 2010 16:35:44 +0000</pubDate>
		<dc:creator>dar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AppEngine]]></category>

		<guid isPermaLink="false">http://www.factory-h.com/blog/?p=111</guid>
		<description><![CDATA[I suppose I knew in the back of my mind, you&#8217;re not going to need it now, but eventually you will need to shard this*. So if you&#8217;re going to do anything in appengine, my advice is: just shard everything from the start. You&#8217;ll save yourself a world of hurt later on. http://code.google.com/appengine/articles/sharding_counters.html * This [...]]]></description>
			<content:encoded><![CDATA[<p>I suppose I knew in the back of my mind, you&#8217;re not going to need it now, but eventually you will need to shard this*.  So if you&#8217;re going to do anything in appengine, my advice is: just shard everything from the start.  You&#8217;ll save yourself a world of hurt later on.</p>
<p><a title="http://code.google.com/appengine/articles/sharding_counters.html" href="http://code.google.com/appengine/articles/sharding_counters.html">http://code.google.com/appengine/articles/sharding_counters.html</a></p>
<p>* This could be anything, it needn&#8217;t be just counters.  Now the article is all about write contention, but it also demonstrates a very good approach to sharding data in the abstract.  Depending on what you&#8217;re doing this is a very useful thing to do.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.factory-h.com/blog/?feed=rss2&amp;p=111</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
