<?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/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Jeff Crouse</title>
	<atom:link href="http://www.jeffcrouse.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jeffcrouse.info</link>
	<description>Portfolio and news</description>
	<lastBuildDate>Tue, 31 Aug 2010 20:44:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<!-- podcast_generator="podPress/8.8" - maintenance_release="8.8.6.3" -->
	<copyright>CreativeCommons Attribution-Noncommercial-Share Alike 2.5 </copyright>
	<managingEditor>jeff@jeffcrouse.info (Jeff Crouse)</managingEditor>
	<webMaster>jeff@jeffcrouse.info (Jeff Crouse)</webMaster>
	<category>posts</category>
	<ttl>1440</ttl>
	<image>
		<url>http://4u.jeffcrouse.info/gs/podcast.jpg</url>
		<title>Jeff Crouse</title>
		<link>http://www.jeffcrouse.info</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>Musical treats from Jeffish</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Music" />
	<itunes:category text="Arts" />
	<itunes:category text="Comedy" />
	<itunes:author>Jeff Crouse</itunes:author>
	<itunes:owner>
		<itunes:name>Jeff Crouse</itunes:name>
		<itunes:email>jeff@jeffcrouse.info</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://4u.jeffcrouse.info/gs/podcast.jpg" />
		<item>
		<title>Humor &amp; Code at 01SJ</title>
		<link>http://www.jeffcrouse.info/news/humor-code-at-01sj/</link>
		<comments>http://www.jeffcrouse.info/news/humor-code-at-01sj/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 20:44:26 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Classes]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2213</guid>
		<description><![CDATA[I will be running my workshop, &#8220;Humor and Code&#8221;, at the 01 Biennial in San Jose as part of the Eyebeam Roadshow. If you are in the area, come on out!]]></description>
			<content:encoded><![CDATA[<p>I will be running my workshop, &#8220;Humor and Code&#8221;, at the 01 Biennial in San Jose as part of the <a href="http://eyebeam.org/this-week/10-08-09/upcoming-eyebeam-roadshow-san-jose-2010">Eyebeam Roadshow</a>.  If you are in the area, come on out!</p>
<p><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/08/85x11brochure_inside.png"><img class="alignnone size-medium wp-image-2216" title="85x11brochure_inside" src="http://www.jeffcrouse.info/wp-content/uploads/2010/08/85x11brochure_inside-300x232.png" alt="" width="300" height="232" /></a><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/08/85x11brochure_outside.png"><img class="alignnone size-medium wp-image-2217" title="85x11brochure_outside" src="http://www.jeffcrouse.info/wp-content/uploads/2010/08/85x11brochure_outside-300x232.png" alt="" width="300" height="232" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/news/humor-code-at-01sj/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rhizome &#124; JUST ANOTHER WORDPRESS SITE!!!! (2010) &#8211; Jacob Ciocci and Jeff Crouse</title>
		<link>http://www.jeffcrouse.info/projects/rhizome-just-another-wordpress-site-2010-jacob-ciocci-and-jeff-crouse/</link>
		<comments>http://www.jeffcrouse.info/projects/rhizome-just-another-wordpress-site-2010-jacob-ciocci-and-jeff-crouse/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 04:13:32 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA["Jacob Ciocci"]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2175</guid>
		<description><![CDATA[Rhizome &#124; JUST ANOTHER WORDPRESS SITE!!!! (2010) &#8211; Jacob Ciocci and Jeff Crouse. Curated by Becky Koblick for Light and Wire Gallery JULY 24 &#8211; SEPTEMBER 4, 2010In this project Ciocci and Crouse have redesigned Light and Wire Gallery’s characteristic website so that every time you visit a new page, a different layout or WordPress [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://rhizome.org/editorial/3680">Rhizome | JUST ANOTHER WORDPRESS SITE!!!! (2010) &#8211; Jacob Ciocci and Jeff Crouse</a>.</p>
<p style="text-align: center;"><a href="http://rhizome.org/editorial/3680"><img src='http://www.jeffcrouse.info/wp-content/uploads/2010/07/lightandwire.png' alt='' /></a></p>
<p style="text-align: center;"><a href="http://rhizome.org/editorial/3680"><img src='http://www.jeffcrouse.info/wp-content/uploads/2010/07/lightandwire2.png' alt='' /></a></p>
<p style="text-align: center;"><a href="http://rhizome.org/editorial/3680"><img src='http://www.jeffcrouse.info/wp-content/uploads/2010/07/lightandwire3.png' alt='' /></a></p>
<p>Curated by Becky Koblick for Light and Wire Gallery<br />
JULY 24 &#8211; SEPTEMBER 4, 2010<em>In this project Ciocci and Crouse have redesigned Light and Wire Gallery’s characteristic website  so that every time you visit a new page, a different layout or WordPress Theme is loaded behind  the gallery’s usual content. Crouse&#8217;s code randomly loads 1 of 20 different Themes, while Ciocci  has visually modified each one. Fundamentally, the WordPress theme system is a way to “skin”  one’s website. Not only does this determine the look of the site but the WordPress themes can  provide control over the presentation of the material on a website. As one clicks through each  theme, this generic design platform that largely informs the aesthetics of the web is revealed for  its amateur quality. </em></p>
<p><span><a href="http://lightandwiregallery.com/"> &#8212; DESCRIPTION FROM LIGHT &amp; WIRE&#8217;S SITE</a></span></p>
<p><span><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/projects/rhizome-just-another-wordpress-site-2010-jacob-ciocci-and-jeff-crouse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Godblock Effect</title>
		<link>http://www.jeffcrouse.info/news/the-godblock-effect/</link>
		<comments>http://www.jeffcrouse.info/news/the-godblock-effect/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 03:42:30 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2171</guid>
		<description><![CDATA[One of my projects has been getting some attention recently, thanks to a link from Penn Jilette]]></description>
			<content:encoded><![CDATA[<p>One of my projects has been getting some attention recently, thanks to a link from <a href="http://twitter.com/pennjillette">Penn Jilette</a></p>
<p><img class="alignnone size-full wp-image-2172" title="godblock_traffic" src="http://www.jeffcrouse.info/wp-content/uploads/2010/07/godblock_traffic.gif" alt="" width="667" height="137" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/news/the-godblock-effect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I Can&#8217;t Go For That</title>
		<link>http://www.jeffcrouse.info/jeffish/i-cant-go-for-that/</link>
		<comments>http://www.jeffcrouse.info/jeffish/i-cant-go-for-that/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 17:22:02 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Jeffish]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2158</guid>
		<description><![CDATA[I Can&#8217;t Go For That]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/07/I-Cant-Go-For-That.mp3"><img class="alignnone size-full wp-image-2161" style="border: 1px solid black;" title="I-Can't-Go-For-That" src="http://www.jeffcrouse.info/wp-content/uploads/2010/07/I-Cant-Go-For-That.png" alt="" width="240" height="240" /></a><br />
<em>I Can&#8217;t Go For That</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/jeffish/i-cant-go-for-that/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<!-- Media File exists for this post, but its not enabled for this feed -->
	</item>
		<item>
		<title>YouTube &#8211; Beirut &#8211; Day 5</title>
		<link>http://www.jeffcrouse.info/news/youtube-beirut-day-5/</link>
		<comments>http://www.jeffcrouse.info/news/youtube-beirut-day-5/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 03:47:55 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2154</guid>
		<description><![CDATA[YouTube &#8211; Beirut &#8211; Day 5.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.youtube.com/watch?v=APSbr8LGmHc">YouTube &#8211; Beirut &#8211; Day 5</a>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="568" height="467" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/APSbr8LGmHc" /><embed type="application/x-shockwave-flash" width="568" height="467" src="http://www.youtube.com/v/APSbr8LGmHc" wmode="transparent"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/news/youtube-beirut-day-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Source Companion&#8221; team</title>
		<link>http://www.jeffcrouse.info/news/source-companion-team/</link>
		<comments>http://www.jeffcrouse.info/news/source-companion-team/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 20:07:50 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/uncategorized/source-companion-team/</guid>
		<description><![CDATA[&#8220;Source Companion&#8221; team, originally uploaded by jefftimesten. Ayah, Aaron and I take a night off to have a drink at Cafe de Prague in Hamra. She described this as &#8220;a total hipster bar,&#8221; which is, of course, why she took us there.]]></description>
			<content:encoded><![CDATA[<div style="text-align: left; padding: 3px;"><a title="photo sharing" href="http://www.flickr.com/photos/jcrouse/4749371327/"><img style="border: solid 2px #000000;" src="http://farm5.static.flickr.com/4099/4749371327_612615c4e7.jpg" alt="" /></a></p>
<p><span style="font-size: 0.8em; margin-top: 0px;"><a href="http://www.flickr.com/photos/jcrouse/4749371327/">&#8220;Source Companion&#8221; team</a>, originally uploaded by <a href="http://www.flickr.com/people/jcrouse/">jefftimesten</a>.</span></div>
<p>Ayah, Aaron and I take a night off to have a drink at Cafe de Prague in Hamra.  She described this as &#8220;a total hipster bar,&#8221; which is, of course, why she took us there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/news/source-companion-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beirut &#8211; Day 4</title>
		<link>http://www.jeffcrouse.info/news/beirut-day-4/</link>
		<comments>http://www.jeffcrouse.info/news/beirut-day-4/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 05:39:50 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2151</guid>
		<description><![CDATA[YouTube &#8211; Beirut &#8211; Day 4.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.youtube.com/watch?v=MMY3xt_CKUU">YouTube &#8211; Beirut &#8211; Day 4</a>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="557" height="459" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/MMY3xt_CKUU" /><embed type="application/x-shockwave-flash" width="557" height="459" src="http://www.youtube.com/v/MMY3xt_CKUU" wmode="transparent"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/news/beirut-day-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beirut &#8211; Day 3</title>
		<link>http://www.jeffcrouse.info/news/beirut-day-3/</link>
		<comments>http://www.jeffcrouse.info/news/beirut-day-3/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 10:36:39 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2147</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/XAex2LPR_hk&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/XAex2LPR_hk&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/news/beirut-day-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Beirut &#8211; Day 2</title>
		<link>http://www.jeffcrouse.info/news/beirut-day-2/</link>
		<comments>http://www.jeffcrouse.info/news/beirut-day-2/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 01:37:26 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/news/beirut-day-2/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/skjGRlEwcxA&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/skjGRlEwcxA&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/news/beirut-day-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beirut &#8211; Day 1</title>
		<link>http://www.jeffcrouse.info/news/beirut-day-1/</link>
		<comments>http://www.jeffcrouse.info/news/beirut-day-1/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 16:24:09 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2142</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/NVZ-9LgdWjM&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/NVZ-9LgdWjM&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/news/beirut-day-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ofxOpenCviPhone with OpenCV2.0</title>
		<link>http://www.jeffcrouse.info/how-tos/ofxopencviphone-with-opencv2-0/</link>
		<comments>http://www.jeffcrouse.info/how-tos/ofxopencviphone-with-opencv2-0/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 23:55:42 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Howtus]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2139</guid>
		<description><![CDATA[At this point I can&#8217;t remember why I went with OpenCV1.0 to bundle with the oF extension, but Timothy Llewellynn was nice enough to point out that I could upgrade, so I did! http://4u.jeffcrouse.info/of/ofxOpenCviPhone.zip &#8212; This version has OpenCV2.0 compiled for armv6 and armv7 in a single universal. I didn&#8217;t bother to compile for i386 [...]]]></description>
			<content:encoded><![CDATA[<p>At this point I can&#8217;t remember why I went with OpenCV1.0 to bundle with the oF extension, but Timothy Llewellynn was nice enough to point out that I could upgrade, so I did!</p>
<p><a href="http://4u.jeffcrouse.info/of/ofxOpenCviPhone.zip">http://4u.jeffcrouse.info/of/ofxOpenCviPhone.zip<br />
</a> &#8212; This version has OpenCV2.0 compiled for armv6 and armv7 in a single universal.  I didn&#8217;t bother to compile for i386 because the camera doesn&#8217;t work in the simulator and that&#8217;s what I was using it for.  But if someone wants to throw that into the universal too, please let me know.</p>
<p>Also, Timothy was nice enough to send me <a href="http://4u.jeffcrouse.info/of/opencv1.1wm6.zip">OpenCV1.1 &#8211; apparently the most stable version ATM? &#8212; compiled for arm</a>, so if you want to get these and replace them, you can do that also.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/how-tos/ofxopencviphone-with-opencv2-0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Searching WordPress.com with PHP</title>
		<link>http://www.jeffcrouse.info/how-tos/searching-wordpress-com-with-php/</link>
		<comments>http://www.jeffcrouse.info/how-tos/searching-wordpress-com-with-php/#comments</comments>
		<pubDate>Thu, 27 May 2010 19:23:28 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Howtus]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2131</guid>
		<description><![CDATA[One of my students wants to search WordPress.com entries in her project.  Here&#8217;s how! &#60;?php // Change this! $query = &#34;There's no such name as Brahbrah&#34;; // WordPress supplies search results in JSON format. $url = &#34;http://en.search.wordpress.com/?f=json&#38;q=&#34;.urlencode($query); $contents = file_get_contents($url); $posts = json_decode($contents); // Now loop through all of the results if($posts != NULL) foreach($posts [...]]]></description>
			<content:encoded><![CDATA[<p>One of my students wants to search WordPress.com entries in her project.  Here&#8217;s how!</p>
<pre class="brush: php;">
&lt;?php
// Change this!
$query = &quot;There's no such name as Brahbrah&quot;;

// WordPress supplies search results in JSON format.
$url = &quot;http://en.search.wordpress.com/?f=json&amp;q=&quot;.urlencode($query);
$contents = file_get_contents($url);
$posts = json_decode($contents);

// Now loop through all of the results
if($posts != NULL)
foreach($posts as $post):
?&gt;
	&lt;!-- Here is where all of the entries get printed out --&gt;
	&lt;h2&gt;&lt;a href=&quot;&lt;?php echo $post-&gt;link; ?&gt;&quot;&gt;&lt;?php echo $post-&gt;title; ?&gt;&lt;/a&gt;&lt;/h2&gt;

	&lt;p&gt;by &lt;?php echo $post-&gt;author; ?&gt; on
	&lt;?php echo date('l jS \of F Y h:i:s A', $post-&gt;epoch_time); ?&gt;&lt;/p&gt;

	&lt;p&gt;&lt;?php echo $post-&gt;content; ?&gt;&lt;/p&gt;

&lt;?php endforeach; ?&gt;
</pre>
<p>PS:  If your server complains about &#8216;file_get_contents&#8217;, paste in this function and replace &#8216;file_get_contents&#8217; with &#8216;curl_get_contents&#8217;</p>
<pre class="brush: php;">
function curl_get_contents($url) {
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_HEADER, 0);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.google.com/bot.html)');
	curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com');
	curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
	curl_setopt($ch, CURLOPT_AUTOREFERER, true);
	$data = curl_exec($ch);
	curl_close($ch);
	return $data;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/how-tos/searching-wordpress-com-with-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ofxiPhoneVidGrabber and ofxOpenCviPhone</title>
		<link>http://www.jeffcrouse.info/how-tos/ofxiphonevidgrabber-and-ofxopencviphone/</link>
		<comments>http://www.jeffcrouse.info/how-tos/ofxiphonevidgrabber-and-ofxopencviphone/#comments</comments>
		<pubDate>Thu, 20 May 2010 16:50:01 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Howtus]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2103</guid>
		<description><![CDATA[UPDATE:  see this post. The 4.0 release of the iPhone OS has introduced access to the pixel data of the live camera stream through the AVCaptureDevice class in the AVFoundation framework.  Want to use it?  OK! If you want the SUPER SIMPLE way and just want to start playing around immediately, get this version of [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #ff0000;"><strong>UPDATE</strong></span>:  <a href="http://www.jeffcrouse.info/how-tos/ofxopencviphone-with-opencv2-0/">see this post</a>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=11889765&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://vimeo.com/moogaloop.swf?clip_id=11889765&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The 4.0 release of the iPhone OS has introduced access to the pixel data of the live camera stream through the AVCaptureDevice class in the AVFoundation framework.  Want to use it?  OK!</p>
<p>If you want the <strong>SUPER SIMPLE</strong> way and just want to start playing around immediately, get this version of oF that I fixed up for the 4.0 OS.</p>
<p><a href="http://4u.jeffcrouse.info/of/of_preRelease_v0061_iPhone4_FAT.zip">http://4u.jeffcrouse.info/of/of_preRelease_v0061_iPhone4_FAT.zip</a><br />
otherwise (and I recommend it), read on.</p>
<p><span id="more-2103"></span><br />
<strong>NOTE:</strong> This is written for OSX/XCode.  I have no idea about other platforms.</p>
<ol>
<li>Of course, make sure you have the <a href="http://developer.apple.com/iphone/index.action">iPhone OS 4.0</a> and the <a href="http://www.openframeworks.cc/download">iPhone version of oF</a></li>
<li>Copy the emptyExample and rename it to something else</li>
<li>You&#8217;ll probable have to fix some settings in your new project
<ol>
<li>Go to Project &gt; Edit Project Settings</li>
<li>Change &#8220;Base SDK&#8221; to iPhone Device 4.0 (this stuff won&#8217;t work on anything else &#8211; even the 4.0 Simulator)</li>
<li>I usually have to change the Target settings also.  Project &gt; Edit Active Target &#8220;Blah&#8221;</li>
</ol>
</li>
<li>Toggle between &#8220;release&#8221; and &#8220;debug&#8221; in the build type dropdown to get the frameworks (libs &gt; core &gt; core frameworks) to switch over to 4.0.  If they are still red after doing this, something went wrong.</li>
<li>Add the following frameworks by right-clicking on the &#8220;core frameworks&#8221; folder and selecting &#8220;Add &gt; Existing Frameworks&#8221;
<ol>
<li>CoreVideo.framework</li>
<li>CoreMedia.framework</li>
<li>AVFoundation.framework</li>
</ol>
</li>
<li>Fix FreeImage
<ol>
<li>Easy Way: Replace your libs/FreeImage folder with this one: <a href="http://www.jeffcrouse.info/wp-content/uploads/2010/05/FreeImage.zip">FreeImage</a>.  You&#8217;ll have to also remove the existing one from your XCode project and drag this one in.</li>
<li><em>Hard Way</em>: Read this <a href="http://www.openframeworks.cc/forum/viewtopic.php?p=19961#p19961">in  the oF forum</a></li>
</ol>
</li>
<li>get <a href="http://www.jeffcrouse.info/wp-content/uploads/2010/05/ofxiPhoneVidGrabber.zip">ofxiPhoneVidGrabber</a> and put it in your addons folder</li>
<li>Get the example: <a href="http://www.jeffcrouse.info/wp-content/uploads/2010/05/iPhoneVidGrabberExample.zip">iPhoneVidGrabberExample</a> and put it in your <em>apps/[something]</em> folder</li>
<li>Run and enjoy!</li>
</ol>
<p><strong>Want to use OpenCV too?</strong><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=11889778&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://vimeo.com/moogaloop.swf?clip_id=11889778&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<ol>
<li>Add this to your addons folder: <a href="http://www.jeffcrouse.info/wp-content/uploads/2010/05/ofxOpenCviPhone.zip">ofxOpenCviPhone</a></li>
<li>Add this to your apps/iPhoneSpecificExamples folder: <a href="http://www.jeffcrouse.info/wp-content/uploads/2010/05/openCviPhoneExample.zip">openCviPhoneExample</a></li>
<li>Run and enjoy!</li>
</ol>
<p><strong>What happened there?</strong></p>
<p>To use OpenCV, you have to recompile it for arm6.  I also added a function to ofxCvColorImage so that you can feed it a 4 channel IplImage* and it will know how to convert it to 3 channels.  If this doesn&#8217;t make sense to you, you probably shouldn&#8217;t read any further.  But if you are really curious, here is how I compiled for arm6.  I couldn&#8217;t figure out the configure flag to leave out JPEG support, so the 5th step is a little ghetto.</p>
<ol>
<li>Make a copy of the ofxOpenCV library from the normal oF distribution.</li>
<li><a href="http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/1.0/opencv-1.0.0.tar.gz?use_mirror=ignum">Get OpenCV 1.0</a></li>
<li>expand the file you just downloaded</li>
<li>crack open a terminal and &#8216;cd&#8217; to the resulting directory</li>
<li><code>mkdir build; cd build; ../configure --prefix=<strong>/path/to/somewhere/stage</strong> --without-imageio --without-python --without-swig --disable-apps --disable-dependency-tracking --without-carbon --without-quicktime --enable-shared --without-gtk  --host=arm-apple-darwin10 CXX=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 CXXFLAGS="-arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk"</code></li>
<li>Open build/cvconfig.h and change:<code><br />
#define HAVE_JPEG</code><br />
to<br />
<code>//#define HAVE_JPEG</code></li>
<li><code>make</code></li>
<li><code>make install</code></li>
<li>Now the <em>include</em> and <em>lib</em> folders that you need are in <code><strong>/path/to/somewhere/stage. </strong> Replace them with the stuff in the ofxOpenCV that you got from the normal oF distro.<strong><br />
</strong></code></li>
<li>Here is what I replaced in ofxCvColorImage
<pre class="brush: cpp;">
void ofxCvColorImage::operator = ( const IplImage* _mom ) {
	if( _mom-&gt;width != width || _mom-&gt;height != height ||
	   _mom-&gt;depth != cvImage-&gt;depth) {
		ofLog(OF_LOG_ERROR, &quot;in =, images need to match in size and depth&quot;);
		return;
	}
	switch(_mom-&gt;nChannels) {
		case 3: cvCopy( _mom, cvImage );
			break;
		case 4: cvCvtColor( _mom, cvImageTemp, CV_RGBA2RGB );
			break;
		case 1:  cvCvtColor( _mom, cvImageTemp, CV_GRAY2RGB );
			break;
		default: ofLog(OF_LOG_ERROR, &quot;in =, nChannels not allowed.&quot;);
			return;
	}
	swapTemp();
	flagImageChanged();
}
</pre>
</li>
</ol>
<p>Please let me know if there is anything I need to correct here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/how-tos/ofxiphonevidgrabber-and-ofxopencviphone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Invisible Threads in Greece</title>
		<link>http://www.jeffcrouse.info/news/invisible-threads-in-greece/</link>
		<comments>http://www.jeffcrouse.info/news/invisible-threads-in-greece/#comments</comments>
		<pubDate>Tue, 11 May 2010 14:46:51 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2114</guid>
		<description><![CDATA[Esse, Nosse, Posse common wealth for common people]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.emst.gr/EN/Pages/default.aspx"><img class="alignnone size-full wp-image-2113" title="EMET Museum of Contemporary Art" src="http://www.jeffcrouse.info/wp-content/uploads/2010/05/Screen-shot-2010-05-11-at-10.44.02-AM.png" alt="" width="584" height="367" /></a></p>
<p><a href="http://www.emst.gr/commonwealth/">Esse, Nosse, Posse</a></p>
<p><a href="http://www.emst.gr/commonwealth/">common wealth for common people</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/news/invisible-threads-in-greece/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gucci Group Interactive Screen</title>
		<link>http://www.jeffcrouse.info/projects/gucci-group-interactive-screen/</link>
		<comments>http://www.jeffcrouse.info/projects/gucci-group-interactive-screen/#comments</comments>
		<pubDate>Mon, 10 May 2010 20:34:27 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2107</guid>
		<description><![CDATA[Here is a quick little project I did for Dave, who now goes by Fever Creative. I wasn&#8217;t able to go to Miami, where it was used, but Jacob Milam took some videos and pictures.  A video of a runway show floats around the screen, following the users face, while the liquid simulation (thanks Memo! [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a quick little project I did for Dave, who now goes by <a href="http://www.fevercreative.com/">Fever Creative</a>.</p>
<p>I wasn&#8217;t able to go to Miami, where it was used, but Jacob Milam took some videos and pictures.  A video of a runway show floats around the screen, following the users  face, while the liquid simulation (thanks Memo! <a href="http://www.memo.tv/ofxmsafluid">www.memo.tv/ofxmsafluid)</a> in the background reacts to the users silhouette.</p>
<p>I&#8217;m now trying to figure out what I should release that would actually be useful for people.  I ended up making a kind of comprehensive ComputerVision class that does</p>
<ol>
<li><a href="http://fffff.at/auto-smiley/">smile detection</a></li>
<li>Face detection (using <a href="http://www.openframeworks.cc/forum/viewtopic.php?f=10&amp;t=2006&amp;start=15">ofxCvHaarTracker</a>)</li>
<li>optical flow (using <a href="http://code.google.com/p/ruicode/">ofxCvOpticalFlowPyrLK</a>)</li>
<li><a href="http://cvlab.epfl.ch/research/detect/ferns/">FERN detection</a></li>
<li>blob detection w/background subtraction</li>
</ol>
<p>It&#8217;s all pretty well optimized, and easily configurable.  Of course, it can&#8217;t do all of these things at once &#8212; too much CV!  Eh &#8211; nothing special, but if you want it, it&#8217;s yours!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=11625604&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://vimeo.com/moogaloop.swf?clip_id=11625604&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
				<div id="gallery-8f61fd6d" class="flickr-gallery photoset">
													<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4595598151"><img class="photo" title="Gucci Interactive Screen" src="http://farm2.static.flickr.com/1182/4595598151_34b7bdce79_s.jpg" alt="Gucci Interactive Screen" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4595597853"><img class="photo" title="Gucci Interactive Screen" src="http://farm4.static.flickr.com/3400/4595597853_423cc79000_s.jpg" alt="Gucci Interactive Screen" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4595597605"><img class="photo" title="Gucci Interactive Screen" src="http://farm4.static.flickr.com/3388/4595597605_e6973c36bf_s.jpg" alt="Gucci Interactive Screen" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4595597501"><img class="photo" title="Gucci Interactive Screen" src="http://farm2.static.flickr.com/1002/4595597501_5becf56da3_s.jpg" alt="Gucci Interactive Screen" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4596213708"><img class="photo" title="Gucci Interactive Screen" src="http://farm2.static.flickr.com/1361/4596213708_81f824209d_s.jpg" alt="Gucci Interactive Screen" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4595597261"><img class="photo" title="Gucci Interactive Screen" src="http://farm5.static.flickr.com/4070/4595597261_7fd2aa04ec_s.jpg" alt="Gucci Interactive Screen" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4596213428"><img class="photo" title="Gucci Interactive Screen" src="http://farm5.static.flickr.com/4033/4596213428_579a521cc4_s.jpg" alt="Gucci Interactive Screen" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4596213240"><img class="photo" title="Gucci Interactive Screen" src="http://farm4.static.flickr.com/3396/4596213240_8600237b36_s.jpg" alt="Gucci Interactive Screen" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4596213074"><img class="photo" title="Gucci Interactive Screen" src="http://farm2.static.flickr.com/1068/4596213074_1985bd2092_s.jpg" alt="Gucci Interactive Screen" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4595596595"><img class="photo" title="Gucci Interactive Screen" src="http://farm5.static.flickr.com/4041/4595596595_a07173418b_s.jpg" alt="Gucci Interactive Screen" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4595596361"><img class="photo" title="Gucci Interactive Screen" src="http://farm2.static.flickr.com/1051/4595596361_f6e17ec20b_s.jpg" alt="Gucci Interactive Screen" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4595596169"><img class="photo" title="Gucci Interactive Screen" src="http://farm5.static.flickr.com/4066/4595596169_0ef36385de_s.jpg" alt="Gucci Interactive Screen" /></a>
								</div>
												<div class="fg-clear"></div>
				</div>
												<div class="fg-clear"></div>
							<script type="text/javascript">
											jQuery(document).ready(function(){
							jQuery("#gallery-8f61fd6d .flickr-thumb img").flightbox({size_callback: get_sizes});
						});
										
										//-->
				</script>
			</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/projects/gucci-group-interactive-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ofxJSON</title>
		<link>http://www.jeffcrouse.info/how-tos/ofxjson/</link>
		<comments>http://www.jeffcrouse.info/how-tos/ofxjson/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 21:49:53 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Howtus]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2096</guid>
		<description><![CDATA[A couple of students also asked about using JSON in openFrameworks.  Here is a quick example of using json-cpp. JSONExample: using json-cpp in openFrameworks. XCode format NOTE: you will need this updated version of ofxHttpUtils_03 and ofxThread (which comes with the FAT version of oF) to run the example.]]></description>
			<content:encoded><![CDATA[<p>A couple of students also asked about using JSON in openFrameworks.  Here is a quick example of using <a href="http://sourceforge.net/projects/jsoncpp/">json-cpp</a>.</p>
<p><img class="alignnone size-full wp-image-2097" title="json_loiane" src="http://www.jeffcrouse.info/wp-content/uploads/2010/04/json_loiane.jpg" alt="" width="290" height="225" /></p>
<p><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/04/JSONExample.zip">JSONExample: using json-cpp in openFrameworks.  XCode format</a></p>
<p>NOTE:  you will need this updated version of <a href="http://www.jeffcrouse.info/wp-content/uploads/2010/04/ofxHttpUtils_03.zip">ofxHttpUtils_03</a> and ofxThread (which comes with the FAT version of oF) to run the example.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/how-tos/ofxjson/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mis/information technology professional</title>
		<link>http://www.jeffcrouse.info/news/misinformation-technology-professional/</link>
		<comments>http://www.jeffcrouse.info/news/misinformation-technology-professional/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 20:48:11 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2091</guid>
		<description><![CDATA[Is this my new job title? I wish I could take credit for putting this into some form at some point, but I honestly don&#8217;t remember.]]></description>
			<content:encoded><![CDATA[<p>Is this my new job title?</p>
<p>I wish I could take credit for putting this into some form at some point, but I honestly don&#8217;t remember.</p>
<p><img class="alignnone size-full wp-image-2094" title="mis" src="http://www.jeffcrouse.info/wp-content/uploads/2010/04/mis1.jpg" alt="" width="601" height="336" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/news/misinformation-technology-professional/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>scraping HTML/XML in openFrameworks</title>
		<link>http://www.jeffcrouse.info/how-tos/scraping-htmlxml-in-openframeworks/</link>
		<comments>http://www.jeffcrouse.info/how-tos/scraping-htmlxml-in-openframeworks/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 19:15:23 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Howtus]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[openframeworks]]></category>
		<category><![CDATA[poco]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2083</guid>
		<description><![CDATA[One of my students wants to get stock quotes from Yahoo Finance for his project, so I wrote a bit of code to do a HTTP GET and regular expression.  I am a bit out of touch with what has been going on with scraping/web-related stuff in oF, but I recently got a request for [...]]]></description>
			<content:encoded><![CDATA[<p>One of my students wants to get stock quotes from Yahoo Finance for his project, so I wrote a bit of code to do a HTTP GET and regular expression.  I am a bit out of touch with what has been going on with scraping/web-related stuff in oF, but I recently got a request for a scraper addon that I helped write forever ago, and I wasn&#8217;t able to quickly find anything much newer, so I thought this might be useful.  It actually takes advantage of the <a href="http://pocoproject.org/">Poco library</a>, which is now part of the standard oF distribution, so anyone can use it without getting any additional addons.</p>
<p>All I am doing here is using the HTTP stuff in Poco to download the source of a page (in this case, the <a href="http://search.yahoo.com/search?p=GOOG">Yahoo Finance page for Google</a>), and then doing a regular expression on the result to get the particular bit of code that I am interested in (in this case, the stock price listed on that page).  If you are dealing with well-formed XML (like RSS), you could also use the XML library that is part of Poco for more structured parsing &#8212; but that&#8217;s not what I need here.</p>
<p>Most of this was stolen from the poco distribution:  poco-x.x.x/Net/samples/httpget/src/httpget.cpp</p>
<p>First you have to import the right headers and declare the namespaces.  This should be done in testApp.h</p>
<pre class="brush: cpp;">
#include &quot;Poco/Net/HTTPClientSession.h&quot;
#include &quot;Poco/Net/HTTPRequest.h&quot;
#include &quot;Poco/Net/HTTPResponse.h&quot;
#include &quot;Poco/StreamCopier.h&quot;
#include &quot;Poco/Path.h&quot;
#include &quot;Poco/URI.h&quot;
#include &quot;Poco/Exception.h&quot;
#include &quot;Poco/RegularExpression.h&quot;

using Poco::Net::HTTPClientSession;
using Poco::Net::HTTPRequest;
using Poco::Net::HTTPResponse;
using Poco::Net::HTTPMessage;
using Poco::StreamCopier;
using Poco::Path;
using Poco::URI;
using Poco::Exception;
using Poco::RegularExpression;
</pre>
<p>Then you can run this code wherever you need to in your testApp.cpp</p>
<pre class="brush: cpp;">
try
{
	URI uri(&quot;http://search.yahoo.com/search?p=GOOG&quot;);
	std::string path(uri.getPathAndQuery());
	if (path.empty()) path = &quot;/&quot;;

	HTTPClientSession session(uri.getHost(), uri.getPort());
	HTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);
	session.sendRequest(req);
	HTTPResponse res;
	istream&amp; rs = session.receiveResponse(res);
	std::cout &lt;&lt; res.getStatus() &lt;&lt; &quot; &quot; &lt;&lt; res.getReason() &lt;&lt; std::endl;

	string result;
	StreamCopier::copyToString(rs, result);

	RegularExpression re(&quot;&lt;li class=\&quot;price\&quot;&gt;([0-9\\.]+)&lt;/li&gt;&quot;);
	RegularExpression::MatchVec matches;
	re.match(result, 0, matches);

	// result.substr(matches[0].offset, matches[0].length)  -- contains the entire matched &lt;li&gt;
	// result.substr(matches[1].offset, matches[1].length) -- contains the subpattern inside the ()
	cout &lt;&lt; result.substr(matches[1].offset, matches[1].length) &lt;&lt; endl;
}
catch (Exception&amp; exc)
{
	std::cerr &lt;&lt; exc.displayText() &lt;&lt; std::endl;
	exit();
}
</pre>
<p>The regular expression matcher returns a vector of Match objects, which just contain the offset and length of each match.  If you aren&#8217;t familiar with regular expressions, this probably doesn&#8217;t make much sense.  But, as it says in the code, you now have 2 matches that you can use as you please.<br />
result.substr(matches[0].offset, matches[0].length)   contains the entire matched &lt;li&gt;<br />
result.substr(matches[1].offset, matches[1].length)   contains the subpattern inside the ()</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/how-tos/scraping-htmlxml-in-openframeworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Professor Jeff&#8217;s Computer Stuff Show</title>
		<link>http://www.jeffcrouse.info/news/events/professor-jeffs-computer-stuff-show/</link>
		<comments>http://www.jeffcrouse.info/news/events/professor-jeffs-computer-stuff-show/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 19:14:49 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2052</guid>
		<description><![CDATA[I got pretty sick this week, and I am still contagious, so I can&#8217;t make the trek up to Bennington to teach my class: Web As Platform, so I am going to U-Stream it instead. This will be required for my wonderful students, but everyone is welcom.  This is Week 7 of the class where we [...]]]></description>
			<content:encoded><![CDATA[<p>I got pretty sick this week, and I am still contagious, so I can&#8217;t make the trek up to Bennington to teach my class: Web As Platform, so I am going to U-Stream it instead. This will be required for my wonderful students, but everyone is welcom.  This is <a href="http://prof.crouse.cc/web_as_platform/spring_2010">Week 7 of the class</a> where we learn how to write functions in PHP. Come back to this page or go <a href="http://www.ustream.tv/channel/professor-jeff">directly to the ustream page</a> at 8:20am SHARP on Monday and you will see me below.</p>
<p><object id="utv338264" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="563" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="autoplay=false&amp;brand=embed&amp;cid=3763659" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.ustream.tv/flash/live/1/3763659" /><param name="name" value="utv_n_449073" /><embed id="utv338264" type="application/x-shockwave-flash" width="563" height="450" src="http://www.ustream.tv/flash/live/1/3763659" name="utv_n_449073" allowscriptaccess="always" allowfullscreen="true" flashvars="autoplay=false&amp;brand=embed&amp;cid=3763659"></embed></object><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="563" height="266" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="brandId=1&amp;channelId=3763659&amp;channel=%23professor-jeff&amp;server=chat1.ustream.tv" /><param name="src" value="http://www.ustream.tv/flash/irc.swf" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="563" height="266" src="http://www.ustream.tv/flash/irc.swf" allowfullscreen="true" flashvars="brandId=1&amp;channelId=3763659&amp;channel=%23professor-jeff&amp;server=chat1.ustream.tv"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/news/events/professor-jeffs-computer-stuff-show/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SNM13 beta1</title>
		<link>http://www.jeffcrouse.info/jeffish/snm/snm13-beta1/</link>
		<comments>http://www.jeffcrouse.info/jeffish/snm/snm13-beta1/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 17:16:56 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Jeffish]]></category>
		<category><![CDATA[Sunday Night Mix]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2047</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-medium wp-image-2048" title="SNM13" src="http://www.jeffcrouse.info/wp-content/uploads/2010/04/SNM13-300x300.jpg" alt="" width="300" height="300" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/jeffish/snm/snm13-beta1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
			<enclosure url="http://www.jeffcrouse.info/wp-content/uploads/2010/04/Sunday-Night-Mix-Volume-13-beta1.mp3" length="20" type="audio/mpeg" />
		<itunes:duration>17:08</itunes:duration>
		<itunes:subtitle>SNM13 beta1</itunes:subtitle>
		<itunes:summary>Musical treats from Jeffish</itunes:summary>
		<itunes:keywords>Jeffish, Sunday Night Mix</itunes:keywords>
		<itunes:author>Jeff Crouse</itunes:author>
		<itunes:explicit>no</itunes:explicit>
		<itunes:block>no</itunes:block>
	</item>
		<item>
		<title>Images &#8211; Part 1</title>
		<link>http://www.jeffcrouse.info/how-tos/images-part-1/</link>
		<comments>http://www.jeffcrouse.info/how-tos/images-part-1/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 15:29:04 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Howtus]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=2006</guid>
		<description><![CDATA[Part 1 of a 2-part lesson on working with bitmaps in openFrameworks.]]></description>
			<content:encoded><![CDATA[<p>Part 1 of a 2-part lesson on working with bitmaps in openFrameworks.</p>
<p><div id="attachment_2004" class="wp-caption alignnone" style="width: 330px"><img class="size-full wp-image-2004" title="anim" src="http://www.jeffcrouse.info/wp-content/uploads/2010/04/anim8.gif" alt="" width="320" height="240" /><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/04/difference.zip">difference</a><p class="wp-caption-text">simple image processing</p></div></p>
<p><div id="attachment_2008" class="wp-caption alignnone" style="width: 330px"><img class="size-full wp-image-2008" title="anim" src="http://www.jeffcrouse.info/wp-content/uploads/2010/04/anim9.gif" alt="" width="320" height="240" /><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/04/pixicles1.zip">pixicles</a><p class="wp-caption-text">pixicles = pixels+particles</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/how-tos/images-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shiffman meets openFrameworks</title>
		<link>http://www.jeffcrouse.info/how-tos/shiffman-meets-openframeworks/</link>
		<comments>http://www.jeffcrouse.info/how-tos/shiffman-meets-openframeworks/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 04:00:11 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Howtus]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=1966</guid>
		<description><![CDATA[I ported a few of the wonderful examples on Dan Shiffman&#8217;s Nature of Code site. I hope they are helpful.  If you like them, let me know and I will keep putting my teaching examples on here. The gifs were made with ofSaveScreen(), mogrify and gifcicle. Basically I exported a bunch of frames and then [...]]]></description>
			<content:encoded><![CDATA[<p>I ported a few of the wonderful examples on <a href="http://www.shiffman.net/teaching/nature/">Dan Shiffman&#8217;s Nature of Code site</a>.  I hope they are helpful.  If you like them, let me know and I will keep putting my teaching examples on here.</p>
<p>The gifs were made with <a href="http://www.openframeworks.cc/documentation?detail=ofUtils#ofSaveScreen">ofSaveScreen()</a>, <a href="http://www.imagemagick.org/www/mogrify.html">mogrify</a> and <a href="http://www.lcdf.org/gifsicle/">gifcicle</a>.  Basically I exported a bunch of frames and then ran the following:<br />
<code><br />
mogrify -resize 50% -format gif *.png<br />
gifsicle --delay=10 --loop *.gif &gt; anim.gif<br />
</code></p>
<p><div id="attachment_1975" class="wp-caption alignnone" style="width: 330px"><img class="size-full wp-image-1975" title="anim" src="http://www.jeffcrouse.info/wp-content/uploads/2010/04/anim1.gif" alt="" width="320" height="240" /><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/04/forces2.zip">oF source</a> &#8212; from <a href="http://www.shiffman.net/teaching/nature/forces/">forces</a><p class="wp-caption-text">forces</p></div></p>
<p>5 more after the break.<br />
<span id="more-1966"></span></p>
<p><div id="attachment_1979" class="wp-caption alignnone" style="width: 330px"><img class="size-full wp-image-1979" title="anim" src="http://www.jeffcrouse.info/wp-content/uploads/2010/04/anim2.gif" alt="" width="320" height="240" /><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/04/attractor2.zip">oF source</a> &#8212; from <a href="http://www.shiffman.net/teaching/nature/forces/">forces</a> <p class="wp-caption-text">attractor</p></div></p>
<p><div id="attachment_1984" class="wp-caption alignnone" style="width: 330px"><img class="size-full wp-image-1984" title="anim" src="http://www.jeffcrouse.info/wp-content/uploads/2010/04/anim4.gif" alt="" width="320" height="240" /><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/04/repel.zip">oF source</a> &#8212; from <a href="http://www.shiffman.net/teaching/nature/particles/">particle systems</a><br />
<p class="wp-caption-text">repel</p></div></p>
<p><div id="attachment_1991" class="wp-caption alignnone" style="width: 330px"><img class="size-full wp-image-1991" title="anim" src="http://www.jeffcrouse.info/wp-content/uploads/2010/04/anim6.gif" alt="" width="320" height="240" /><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/04/fountain.zip">oF source</a> &#8212; modified from <a href="http://www.shiffman.net/teaching/nature/particles/">particle  systems</a><p class="wp-caption-text">fountain</p></div></p>
<p><div id="attachment_1986" class="wp-caption alignnone" style="width: 330px"><img class="size-full wp-image-1986" title="anim" src="http://www.jeffcrouse.info/wp-content/uploads/2010/04/anim5.gif" alt="" width="320" height="240" /><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/04/boid.zip">oF source </a> &#8212; from <a href="http://www.shiffman.net/teaching/nature/steering/">steering behaviors</a><p class="wp-caption-text">boid</p></div></p>
<p><div id="attachment_1967" class="wp-caption alignnone" style="width: 330px"><img class="size-full wp-image-1967" title="anim" src="http://www.jeffcrouse.info/wp-content/uploads/2010/04/anim.gif" alt="" width="320" height="240" /><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/04/flock.zip">oF Source</a> &#8212; from <a href="http://www.shiffman.net/teaching/nature/steering/">steering behaviors</a><p class="wp-caption-text">Flocking pattern</p></div></p>
<p><div id="attachment_2000" class="wp-caption alignnone" style="width: 330px"><img class="size-full wp-image-2000 " title="anim" src="http://www.jeffcrouse.info/wp-content/uploads/2010/04/anim7.gif" alt="" width="320" height="240" /><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/04/path.zip">oF Source</a> &#8212; from <a href="http://www.shiffman.net/teaching/nature/steering/">steering behaviors</a><p class="wp-caption-text">path following (not fully debugged)</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/how-tos/shiffman-meets-openframeworks/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Blingees</title>
		<link>http://www.jeffcrouse.info/bs/1954/</link>
		<comments>http://www.jeffcrouse.info/bs/1954/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 21:39:59 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Bullshit]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=1954</guid>
		<description><![CDATA[I have kind of an unhealthy fascination with the site Blingee.com.  Below are some of my Blingee creations.  For more of my Blingee goodness, check out my Blingee profile.]]></description>
			<content:encoded><![CDATA[<p>I have kind of an unhealthy fascination with the site <a href="http://blingee.com">Blingee.com</a>.  Below are some of my Blingee creations.  For more of my Blingee goodness, check out<a href="http://blingee.com/profile/jefftimesten/blingees"> my Blingee profile</a>.</p>
<p><div class="wp-caption alignleft" style="width: 290px"><a title="Glitter Graphics" href="http://blingee.com/blingee/view/101051843-Laboral-Crew" target="_blank"><img style="border: 0pt none;" title="Laboral Crew" src="http://image.blingee.com/images17/content/output/000/000/000/605/532390074_2005202.gif" border="0" alt="Laboral Crew" width="280" height="209" /></a><p class="wp-caption-text">The Laboral Crew!</p></div></p>
<p><div class="wp-caption alignleft" style="width: 254px"><a title="Glitter Graphics" href="http://blingee.com/blingee/view/98979798-Jeff-Crouse-Awesome-Roommate" target="_blank"><img style="border: 0pt none;" title="Jeff Crouse: Awesome  Roommate" src="http://image.blingee.com/images17/content/output/000/000/000/5e6/515055581_1527689.gif" border="0" alt="Jeff Crouse: Awesome Roommate" width="244" height="212" /></a><p class="wp-caption-text">This is my buddy Alex.  I made this when I was looking for an apartment to show how awesome I would be as a roommate.</p></div></p>
<p><div class="wp-caption alignleft" style="width: 239px"><a title="Personalized Glitter Graphics" href="http://blingee.com/blingee/view/109130115-Cass-Money" target="_blank"><img style="border: 0pt none;" title="Cass Money" src="http://image.blingee.com/images17/content/output/000/000/000/681/605474915_1890140.gif" border="0" alt="Cass Money" width="229" height="171" /></a><p class="wp-caption-text">Custom bling for Cass</p></div></p>
<p><div class="wp-caption alignleft" style="width: 230px"><a title="Glitter Graphics" href="http://blingee.com/blingee/view/97581654-My-new-self-portrait" target="_blank"><img style="border: 0pt none;" title="My new self portrait" src="http://image.blingee.com/images17/content/output/000/000/000/5d0/503421130_2064121.gif" border="0" alt="My new self portrait" width="220" height="275" /></a><p class="wp-caption-text">I think it&#39;s pretty obvious why I made this.</p></div></p>
<p><br style="clear: both;" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/bs/1954/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YTMND</title>
		<link>http://www.jeffcrouse.info/bs/ytmnd/</link>
		<comments>http://www.jeffcrouse.info/bs/ytmnd/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 21:38:26 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Bullshit]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=1945</guid>
		<description><![CDATA[I am introducing a new category on my site: the Bullshit category. Specifically for all of the stupid stuff that I make on the Internets when I am procrastinating.]]></description>
			<content:encoded><![CDATA[<p>I am introducing a new category on my site: the Bullshit category.  Specifically for all of the stupid stuff that I make on the Internets when I am procrastinating.</p>
<p><div id="attachment_1947" class="wp-caption alignleft" style="width: 278px"><a href="http://morrisseycode.ytmnd.com/"><img class="size-full wp-image-1947 " title="morrissey" src="http://www.jeffcrouse.info/wp-content/uploads/2010/03/morrisset.jpg" alt="" width="268" height="223" /></a><p class="wp-caption-text">All school children from now on need to learn Morrissey Code</p></div></p>
<p><div id="attachment_1948" class="wp-caption alignleft" style="width: 270px"><a href="http://webothlovesoup.ytmnd.com/"><img class="size-full wp-image-1948 " title="wbls" src="http://www.jeffcrouse.info/wp-content/uploads/2010/03/wbls1.jpg" alt="" width="260" height="216" /></a><p class="wp-caption-text">For some reason this particular line from Best in Show will be with me until the day I die.</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/bs/ytmnd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Harvestworks New Works Residency Application Work Sample</title>
		<link>http://www.jeffcrouse.info/projects/harvestworks-work-sample/</link>
		<comments>http://www.jeffcrouse.info/projects/harvestworks-work-sample/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 21:16:29 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[Harvestworks]]></category>
		<category><![CDATA[Reggie Watts]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=1894</guid>
		<description><![CDATA[Synopsis The work I am proposing is part of a long term goal to start a weekly (or monthly) comedy night where the performers use custom-made software to enhance their act. This residency would help me complete the first two steps, in which I will develop a series of performances with comedian and musician Reggie [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Synopsis</strong><br />
The work I am proposing is part of a long term goal to start a weekly (or monthly) comedy night where the performers use custom-made software to enhance their act.</p>
<p><div id="attachment_1905" class="wp-caption alignright" style="width: 310px"><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/03/P1040877.jpg"><img class="size-medium wp-image-1905" title="P1040877" src="http://www.jeffcrouse.info/wp-content/uploads/2010/03/P1040877-300x200.jpg" alt="" width="300" height="200" /></a><p class="wp-caption-text">A prototype of a pair of covert stereoscopic video recording glasses I developed with Reggie</p></div></p>
<p>This residency would help me complete the first two steps, in which I will develop a series of performances with comedian and musician Reggie Watts utilizing projection, augmented reality and other computer vision techniques, speech-driven generative content, and a custom-made stereo vision device.  The second step is a “summit” of comedians and programmers, the goal of which  is to generate ideas around humor and software and start collaborations on new projects.</p>
<h1><span id="more-1894"></span></h1>
<h1>Reggie Watts</h1>
<h2>Reggie Watts does London</h2>
<p><object id="ordie_player_ec40685532" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="512" height="328" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="key=ec40685532&amp;vert=funnyordie_co_uk" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://player.ordienetworks.com/flash/fodplayer.swf" /><param name="name" value="ordie_player_ec40685532" /><param name="quality" value="high" /><embed id="ordie_player_ec40685532" type="application/x-shockwave-flash" width="512" height="328" src="http://player.ordienetworks.com/flash/fodplayer.swf" quality="high" name="ordie_player_ec40685532" allowscriptaccess="always" allowfullscreen="true" flashvars="key=ec40685532&amp;vert=funnyordie_co_uk"></embed></object></p>
<h2>F_CK SH_T STACK</h2>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="510" height="288" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=10107253&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=ff0179&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="510" height="288" src="http://vimeo.com/moogaloop.swf?clip_id=10107253&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=ff0179&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h2><a href="http://www.latenightwithjimmyfallon.com/blogs/2009/04/reggie-watts-was-electric/">Reggie on Late Night with Jimmy Fallon</a></h2>
<p>[See post to watch Flash video]</p>
<h1>Jeff Crouse</h1>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="510" height="319" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/nQJ7GGzBqpE&amp;hl=en&amp;fs=1" /><param name="flashvars" value="hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="510" height="319" src="http://www.youtube.com/v/nQJ7GGzBqpE&amp;hl=en&amp;fs=1" flashvars="hl=en&amp;fs=1" wmode="transparent"></embed></object></p>
<p><a href="http://www.jeffcrouse.info/projects/the-world-series-of-tubing/">The World Series of ‘Tubing</a> is a conceptual augmented reality game played in front of a live audience, combining the intensity of a high-stakes poker tournament with the world of sensational online video.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="510" height="288" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=1166517&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1&amp;group_id=" /><embed type="application/x-shockwave-flash" width="510" height="288" src="http://vimeo.com/moogaloop.swf?clip_id=1166517&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1&amp;group_id=" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://www.jeffcrouse.info/projects/invisible-threads/">Invisible Threads</a> is a mixed reality performance installation that  explores the growing intersection between labor, emerging virtual  economies and real life commodities through the creation of a designer  jeans sweatshop in the metaverse Second Life.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="510" height="351" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://blip.tv/play/hIwVseVxAg%2Em4v" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="510" height="351" src="http://blip.tv/play/hIwVseVxAg%2Em4v" allowfullscreen="true"></embed></object></p>
<p><a href="http://www.jeffcrouse.info/projects/inside-the-artists-studio/">Inside the Artist’s Studio</a> is a radio program hosted by a robotic  Chimpanzee named James Chimpton. Chimpton’s brain is powered by a markup  language I created called ABSML, or A BullShit Markup Language. The  result is rather absurd – a clothed robotic monkey, interviewing artists  in the Biennial about their work, in a robotic english accent.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/projects/harvestworks-work-sample/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eyebeam Roadshow at 01SJ</title>
		<link>http://www.jeffcrouse.info/news/events/eyebeam-roadshow-at-01sj/</link>
		<comments>http://www.jeffcrouse.info/news/events/eyebeam-roadshow-at-01sj/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 03:26:42 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[eyebeam]]></category>
		<category><![CDATA[roadshow]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=1810</guid>
		<description><![CDATA[The Eyebeam Roadshow will be heading out to San Jose from Sept 4th to 19th to join the amazing SJ01 festival.]]></description>
			<content:encoded><![CDATA[<p>The Eyebeam Roadshow will be heading out to San Jose from Sept 4th to 19th to join <a href="http://01sj.org/2010/artworks/eyebeam-roadshow/">the amazing SJ01 festival</a>.</p>
<p><img class="alignleft size-full wp-image-1812" title="front" src="http://www.jeffcrouse.info/wp-content/uploads/2010/03/front.png" alt="" width="411" height="280" /><img class="size-full wp-image-1811 alignleft" title="Screen shot 2010-03-16 at 11.27.05 PM" src="http://www.jeffcrouse.info/wp-content/uploads/2010/03/Screen-shot-2010-03-16-at-11.27.05-PM.png" alt="" width="134" height="280" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/news/events/eyebeam-roadshow-at-01sj/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New podcasts</title>
		<link>http://www.jeffcrouse.info/news/updates/new-podcasts-2/</link>
		<comments>http://www.jeffcrouse.info/news/updates/new-podcasts-2/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 02:52:36 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Project Updates]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=1741</guid>
		<description><![CDATA[I now have 2 podcasts on iTunes that you should all go subscribe to immediately. Clicky. Thank you and good day.]]></description>
			<content:encoded><![CDATA[<p style="clear: both;">I now have 2 podcasts on iTunes that you should all go subscribe to immediately. Clicky.</p>
<p><a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=361410098"><img class="size-full wp-image-1795 alignleft" style="margin-right: 10px;" title="podcast" src="http://www.jeffcrouse.info/wp-content/uploads/2010/03/podcast.jpg" alt="" width="180" height="180" /></a><a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=361232443"><img class="size-full wp-image-1796 alignleft" title="crowded-300x300" src="http://www.jeffcrouse.info/wp-content/uploads/2010/03/crowded-300x3001.jpg" alt="" width="180" height="180" /></a></p>
<p style="clear: both;">Thank you and good day.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/news/updates/new-podcasts-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NAPBLA</title>
		<link>http://www.jeffcrouse.info/editorial/napbla/</link>
		<comments>http://www.jeffcrouse.info/editorial/napbla/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 00:56:59 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Editorial]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=1876</guid>
		<description><![CDATA[Foreal. How can you still look to religion for morality? One of the mind-numbingly obtuse arguments used by religious people to validate their beliefs is that they depend on their religion for moral guidelines. Because, as everyone knows, there is nowhere else to look for rules about how to treat your fellow man.  So, as [...]]]></description>
			<content:encoded><![CDATA[<p>Foreal.  How can you still look to religion for morality?</p>
<p>One of the mind-numbingly obtuse arguments used by religious people to validate their beliefs is that they depend on their religion for moral guidelines.  Because, as everyone knows, there is nowhere else to look for rules about how to treat your fellow man.  So, as <a href="http://en.wikipedia.org/wiki/Papal_infallibility">the mouth of God on Earth</a>, the Pope would have to be the model of morality, right?</p>
<p>I was talking to some friends today and they weren&#8217;t aware of the spread of the Catholic priest &#8220;incidents&#8221; into Ireland and now Germany.  The NPR podcast below gives some of the finer points.  As it turns out, the Pope was probably involved when he was a priest in Munich!  I really don&#8217;t understand how the Catholic church intends to come back from this incident without some kind of dramatic pruning of every level of the clergy, including the Pope.</p>
<p>Please listen to this podcast.  It really reveals the Catholic church for what it really is:  an dirty old man club to end all dirty old man clubs.</p>
<p><span id="more-1876"></span></p>
<p><a href="http://public.npr.org/anon.npr-podcasts/podcast/1016/124997553/npr_124997553.mp3"><strong>NPR: 03-21-2010  Religion</strong></a></p>
<p>Stories:</p>
<ol>
<li>More Abuse Allegations Anger Germany&#8217;s  Catholics</li>
<li>Scandal-Hit Catholic Church Still Integral To Irish</li>
<li>Vatican Rejects Pope Role In Sex Abuse Cover-Up</li>
<li>Is The Bible More  Violent Than The Quran?</li>
</ol>
<p>On the other hand, is priest/boy love such a bad thing?  Where is the North American Priest/Boy Love Association?</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="bgcolor" value="#000000" /><param name="flashvars" value="autoPlay=false&amp;dist=www.southparkstudios.com&amp;orig=" /><param name="src" value="http://media.mtvnservices.com/mgid:cms:item:southparkstudios.com:104007" /><param name="wmode" value="window" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="400" src="http://media.mtvnservices.com/mgid:cms:item:southparkstudios.com:104007" allowfullscreen="true" wmode="window" flashvars="autoPlay=false&amp;dist=www.southparkstudios.com&amp;orig=" bgcolor="#000000"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/editorial/napbla/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
			<enclosure url="http://public.npr.org/anon.npr-podcasts/podcast/1016/124997553/npr_124997553.mp3" length="11657308" type="audio/mpeg" />
	</item>
		<item>
		<title>Getting started with PandaStream</title>
		<link>http://www.jeffcrouse.info/how-tos/getting-started-with-pandastream/</link>
		<comments>http://www.jeffcrouse.info/how-tos/getting-started-with-pandastream/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 19:38:46 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Howtus]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=1828</guid>
		<description><![CDATA[PandaStream is a great new open source video sharing project. It&#8217;s still relatively new, but I&#8217;ve been having a great time hacking on it and making a couple of video sites for various projects. None of them are done yet, but I did give a workshop on Pandastream today as part of the Electrosmog festival [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://pandastream.com"><img class="alignleft size-full wp-image-1870" style="margin-right: 15px;" title="panda_logo" src="http://www.jeffcrouse.info/wp-content/uploads/2010/03/panda_logo1.gif" alt="" width="115" height="60" />PandaStream</a> is a great new open source video sharing project.  It&#8217;s still relatively new, but I&#8217;ve been having a great time hacking on it and making a couple of video sites for various projects.  None of them are done yet, but I did give a workshop on Pandastream today as part of the <a href="http://eyebeam.org/feeds/announcements/electrosmog-workshop-at-eyebeam">Electrosmog festival at Eyebeam</a>, so I thought I&#8217;d put up a little tutorial.</p>
<p>From the Panda site:</p>
<blockquote><p>Unlike other video platforms, Panda is not just a service for encoding your videos for the web; Panda handles the whole process. From the upload form to streaming, Panda takes control.</p></blockquote>
<h2>Requirements</h2>
<p>You&#8217;ll need a few things to get up and running.  These instructions are specifically for using the new Beta service that Panda is offering, and storing your videos on AmazonS3.  If you aren&#8217;t familiar with S3, it&#8217;s basically ridiculously cheap dumb (as a bucket) storage.  &#8220;Dumb&#8221;, because it doesn&#8217;t run PHP or any other applications or do any of the cool stuff that other web hosts do.  It&#8217;s just a shitload of storage space in the cloud that costs about 30 cents a month if you are moderately active. So, here is what you should make sure you have before you get started:</p>
<ul>
<li>A <a href="http://www.pandastream.com">PandaStream</a> beta account. The signup for this should be right on the front page. This account will provide you with 1 &#8220;encoding cloud&#8221; &#8211; the thing that is going to take care of all of the converting and uploading and stuff.  This is a new service, but they are being pretty generous with the beta accounts, so it&#8217;s not too tough to get one.</li>
<li><a href="http://aws.amazon.com/s3/">Amazon S3</a> account.  <a href="http://www.bucketexplorer.com/documentation/amazon-s3--how-to-create-a-new-Amazon-s3-account.html">Here is a tutorial about setting up an S3 account</a>.  It is a pretty typical typical signup process.  S3 is a protocol LIKE FTP, but it&#8217;s NOT FTP.  So, there is a chance that your FTP client will support connecting to your S3 account, but you might need to download an app like <a href="http://s3hub.com/">S3Hub</a> or <a href="http://www.bucketexplorer.com/">BucketExplorer</a>.</li>
<li>An Amazon s3 bucket: <a href="http://www.bucketexplorer.com/documentation/amazon-s3--how-to-create-bucket-in-Europe.html">Here is a tutorial about creating a bucket</a>.  You must give your bucket a unique name.</li>
<li>A web server running PHP.  If you are going to do more complicated stuff like storing views and stuff you will probably want MySQL too &#8212; but that is not covered in this tutorial.</li>
</ul>
<p>keep reading after the break!<span id="more-1828"></span></p>
<h2>Gathering Materials</h2>
<p><img class="alignright size-full wp-image-1837" title="Screen shot 2010-03-20 at 5.37.23 PM" src="http://www.jeffcrouse.info/wp-content/uploads/2010/03/Screen-shot-2010-03-20-at-5.37.23-PM.png" alt="" width="172" height="207" />PandaStream is an open source project that uses a lot of common open source stuff.  Gathering this stuff together is an annoying but necessary step.  Your panda directory should look like the image on the right after you are done.</p>
<ul>
<li><a href="http://github.com/newbamboo/panda_uploader/zipball/master">panda_uploader</a> (direct link to zip from github)  Unzip the archive &#8211; We are only interested in the &#8216;panda_uploader&#8217; folder, so drag that into your Panda folder and trash the rest.</li>
<li><a href="http://github.com/newbamboo/panda_client_php/zipball/master">panda_client_php</a> (direct link to zip from github) Unzip the archive &#8211; we are only interested in &#8216;panda.php&#8217;, so drag that into your Panda folder and trash the rest.</li>
<li><a href="http://www.longtailvideo.com/jw/upload/mediaplayer-viral.zip">JWPlayer</a> &#8211; the Flash animation that is going to actually play your video.  It is equivalent to the &#8220;chrome&#8221; around a YouTube video &#8211; the buttons and stuff that let you stop, play, jump around with the playhead, and even gives you embed code and lets you mail the video to a friend.</li>
<li><a href="http://swfobject.googlecode.com/files/swfobject_2_2.zip">swfobject_2_2.zip</a> &#8211; Some JavaScript that generates the embed code for the JWPlayer.</li>
<li><a href="http://www.jeffcrouse.info/wp-content/uploads/2010/03/panda_starter_kit.zip">panda_starter_kit.zip</a> To save you the trouble of creating the files I describe below, I&#8217;ve zipped them all up into an archive so you can just download them. Move all of the files inside into your Panda folder.  If you don&#8217;t care what they do, just skip the &#8220;The Files&#8221; section and go right down to &#8220;Setup&#8221;</li>
</ul>
<h2>The Files</h2>
<h3>header.php</h3>
<p>This file connects to the Panda API so that you can upload, get information about your videos, and other good stuff. It also imports the javascript and CSS that is used by PandaStream.</p>
<pre class="brush: xml;">
&lt;?php
require_once(&quot;panda.php&quot;);  // include the Panda API
$panda = new Panda(array(
  'api_host' =&gt; 'api.pandastream.com',
  'cloud_id' =&gt; 'your-panda-cloud-id',
  'access_key' =&gt; 'your-access-key',
  'secret_key' =&gt; 'your-secret-key',
));
$s3_bucket_name = &quot;your-bucket-name&quot;;
?&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;my.tv&lt;/title&gt;
    &lt;script src=&quot;swfobject/swfobject.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
    &lt;script src=&quot;http://code.jquery.com/jquery-1.4.2.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
    &lt;script src=&quot;panda_uploader/jquery.panda-uploader.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
    &lt;link href=&quot;styles.css&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;/head&gt;
&lt;body&gt;
</pre>
<h3>upload.php</h3>
<p>You will access this file to upload new videos to your S3 account.</p>
<pre class="brush: xml;">
&lt;?php
include(&quot;header.php&quot;);
$signed_params = $panda-&gt;signed_params('POST', '/videos.json');
$json = json_encode($signed_params);
?&gt;
&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
	&lt;span id=&quot;upload_button&quot;&gt;&lt;/span&gt;
	&lt;div id=&quot;upload_progress&quot; class=&quot;panda_upload_progress&quot;&gt;&lt;/div&gt;
	&lt;input type=&quot;text&quot; id=&quot;upload_filename&quot; class=&quot;panda_upload_filename&quot; disabled=&quot;true&quot; /&gt;
	&lt;input type=&quot;hidden&quot; name=&quot;panda_video_id&quot; id=&quot;returned_video_id&quot; /&gt;
	&lt;input type=&quot;submit&quot; value=&quot;Upload video&quot; /&gt;
	&lt;script&gt;
	$(&quot;#returned_video_id&quot;).pandaUploader(&lt;?=$json?&gt;, {
		upload_button_id: 'upload_button',
		upload_filename_id: 'upload_filename',
		upload_progress_id: 'upload_progress',
		uploader_dir: 'panda_uploader'
	});
	&lt;/script&gt;
&lt;/form&gt;
&lt;?php include(&quot;footer.php&quot;); ?&gt;
</pre>
<h3>add_profile.php</h3>
<pre class="brush: xml;">
&lt;?php
require_once(&quot;api.php&quot;);
$panda-&gt;post('/profiles.json', array(
	'title' =&gt; 'My custom profile',
	'category' =&gt; 'desktop',
	'extname' =&gt; 'mp4',
	'width' =&gt; 320,
	'height' =&gt; '240',
	'command' =&gt; 'ffmpeg -i $input_file$ -f mp4 -b 128k $resolution_and_padding$ -y $output_file',
));
$profiles = $panda-&gt;get('/profiles.json');
print_r($profiles);
?&gt;
</pre>
<h3>index.php</h3>
<pre class="brush: xml;">
&lt;?php
include(&quot;header.php&quot;);
$videos = json_decode($panda-&gt;get('/videos.json'));
foreach($videos as $video):
	$panda_encodings = json_decode(@$panda-&gt;get(&quot;/videos/{$video-&gt;id}/encodings.json&quot;));
	$encoding = $panda_encodings[0];
?&gt;
	&lt;div class=&quot;vid_container&quot;&gt;
		&lt;b&gt;&lt;?php echo $video-&gt;original_filename; ?&gt;&lt;/b&gt;
		&lt;div id=&quot;flash_container_&lt;?php echo $encoding-&gt;id ?&gt;&quot;&gt;
			&lt;?php if($video-&gt;status =='success'): ?&gt;
				&lt;a href=&quot;http://www.macromedia.com/go/getflashplayer&quot;&gt;Get the latest Flash Player&lt;/a&gt; to watch this video.
				&lt;script type=&quot;text/javascript&quot;&gt;
					swfobject.embedSWF(
						&quot;mediaplayer-viral/player-viral.swf&quot;,
						&quot;flash_container_&lt;?php echo $encoding-&gt;id ?&gt;&quot;,
						&quot;&lt;?=$encoding-&gt;width ?&gt;&quot;,
						&quot;&lt;?=$encoding-&gt;height ?&gt;&quot;,
						&quot;9.0.115&quot;,
						&quot;swfobject/expressInstall.swf&quot;, {
						file: &quot;http://&lt;?=$s3_bucket_name?&gt;.s3.amazonaws.com/&lt;?=$encoding-&gt;id?&gt;&lt;?=$encoding-&gt;extname?&gt;&quot;,
						width: &lt;?php echo $encoding-&gt;width ?&gt;,
						height: &lt;?php echo $encoding-&gt;height ?&gt;,
						fullscreen: true,
						controllbar: 'over'},
						{wmode:&quot;transparent&quot;,allowfullscreen:&quot;true&quot;},
						{align: &quot;top&quot;}
					);
				&lt;/script&gt;
			&lt;?php else: ?&gt;
				&lt;p&gt;&lt;?=$video-&gt;status?&gt;&lt;/p&gt;
			&lt;?php endif; ?&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;?php endforeach;  // end foreach(videos) ?&gt;
&lt;?php include(&quot;footer.php&quot;); ?&gt;
</pre>
<h2>Setup</h2>
<p>The only thing you really need to do is edit <strong>header.php</strong> and replace</p>
<ul>
<li> <code>your-panda-cloud-id</code></li>
<li><code>your-access-key</code></li>
<li><code>your-secret-key</code></li>
<li><code>your-bucket-name</code></li>
</ul>
<p>You will find this information on account.pandastream.com.</p>
<p><img class="alignnone size-full wp-image-1851" title="cloud_id" src="http://www.jeffcrouse.info/wp-content/uploads/2010/03/cloud_id.png" alt="" width="546" height="128" /></p>
<p><img class="size-full wp-image-1850 alignnone" title="account" src="http://www.jeffcrouse.info/wp-content/uploads/2010/03/account1.png" alt="" width="422" height="273" /></p>
<p>Once you have inserted your info into <strong>header.php</strong>, upload  everything to your server!  Let&#8217;s say, for argument, this is  <strong>http://www.yourdomain.com/panda</strong></p>
<h2>Adding an Encoding Profile</h2>
<p>In order to upload a video, you have to add at least one encoding profile.  This will tell Panda how to re-encode your videos once you upload.  There is <a href="https://gist.github.com/dff917ab6ba54b6be2e7">a full explanation of encoding profiles</a> by the PandaStream guys.  If you want to customize the way your videos are encoded, edit your add_profile.php file.</p>
<p>If you are okay with the default, just point your browser to <strong>http://yourdomain.com/panda/add_profile.php</strong> This will add a profile to your Panda account.  You should see some text that looks like this:<br />
<code><br />
[{"created_at":"2010/03/19 17:49:33 +0000","command":"ffmpeg -i $input_file$ -ar 22050 -ab 64k -f flv -b 256k $resolution_and_padding$ -y $output_file$","title":"Flash FLV (Medium)","updated_at":"2010/03/19 17:49:33 +0000","extname":".flv","id":"f9bb8f4f840bb4f4d335ea620b25ad0d","height":240,"width":320}]</code></p>
<h2>Start Uploading!</h2>
<p>If all has gone well, you should be able to go to <strong>http://www.yourdomain.com/panda/upload.php</strong> and see this:<br />
<img class="alignnone size-full wp-image-1857" title="Screen shot 2010-03-20 at 6.30.01 PM" src="http://www.jeffcrouse.info/wp-content/uploads/2010/03/Screen-shot-2010-03-20-at-6.30.01-PM.png" alt="" width="358" height="54" /></p>
<p>After you have finished uploading a few test videos, head to <strong>http://www.yourdomain.com/panda</strong> and you should see something like this:</p>
<p><img class="alignnone size-medium wp-image-1858" title="Screen shot 2010-03-20 at 6.40.35 PM" src="http://www.jeffcrouse.info/wp-content/uploads/2010/03/Screen-shot-2010-03-20-at-6.40.35-PM-300x191.png" alt="" width="300" height="191" /></p>
<h2>What Next?</h2>
<p>If this was useful to you, leave a comment and I will make some more tutorials as I get further with my own Panda projects.  This will include:</p>
<ul>
<li>using the auto-generated thumbnails</li>
<li>creating sub-pages for videos</li>
<li>deleting videos</li>
<li>adding custom titles</li>
<li>comments</li>
<li>view tracking</li>
<li>what to do if you don&#8217;t have CURL installed on your server</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/how-tos/getting-started-with-pandastream/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Red5 on DreamhostPS</title>
		<link>http://www.jeffcrouse.info/how-tos/red5-on-dreamhostps/</link>
		<comments>http://www.jeffcrouse.info/how-tos/red5-on-dreamhostps/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 18:18:24 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Howtus]]></category>

		<guid isPermaLink="false">http://www.jeffcrouse.info/?p=1744</guid>
		<description><![CDATA[This weekend I installed Red5 on my DreamhostPS account.  Note: You do need Dreamhost PS to run Red5 because it is a persistent process.  Non-PS accounts don&#8217;t allow persistent processes and it will be killed.  Here is what I did: I made a new user &#8211; just to keep all of the red5 stuff quarantined [...]]]></description>
			<content:encoded><![CDATA[<p>This weekend I installed Red5 on my DreamhostPS account.  Note: You do need Dreamhost <strong>PS</strong> to run Red5 because it is a <a href="http://blog.dreamhosters.com/kbase/index.cgi?area=2449">persistent process</a>.  Non-PS accounts don&#8217;t allow persistent processes and it will be killed.  Here is what I did:</p>
<ol>
<li>I made a new user &#8211; just to keep all of the red5 stuff quarantined from the rest of my stuff.</li>
<li>SSH in as that user: ssh your-user@yourdomain.com</li>
<li>Add the following lines to the .bash_profile for that user:<code><br />
export JAVA_HOME=/usr/local/dh/java<br />
export ANT_HOME=$HOME<br />
export PATH=$PATH:$ANT_HOME/bin<br />
</code></li>
<li>Make a directory called &#8216;source&#8217;  and enter it..<br />
<code>mkdir source &amp;&amp; cd source</code></li>
<li>You need ant to build Red5, so download it into your source folder:<br />
<code>wget http://www.bizdirusa.com/mirrors/apache/ant/binaries/apache-ant-1.8.0-bin.tar.gz</code></li>
<li>Unzip it<br />
<code>tar -xvf apache-ant-1.8.0-bin.tar.gz</code></li>
<li>Move the &#8216;bin&#8217;, &#8216;etc&#8217; and &#8216;lib&#8217; folders to $HOME</li>
<li><code>svn checkout http://red5.googlecode.com/svn/java/server/trunk/ red5-read-only<br />
</code></li>
<li>cd source/red5-read-only/</li>
<li>ant ivyclear dist</li>
<li>cd dist/</li>
<li>chmod 755 red5.sh</li>
<li>screen</li>
<li>./red5.sh</li>
<li>Now you should be able to access a test page at http://yourdomain.com:5080/ and the endpoint for your services will be rtmp://yourdomain.com:1935/yourAppName (the &#8216;:1935&#8242; might be redundant, but just to be safe)</li>
</ol>
<p>I am still working on making a simple recording tool, but this will at least get the server running.  Comments/complaints welcome!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffcrouse.info/how-tos/red5-on-dreamhostps/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
