<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Flong Blog + News</title>
	
	<link>http://www.flong.com/blog</link>
	<description />
	<lastBuildDate>Sun, 29 Aug 2010 00:00:00 PDT</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/golanlevin" /><feedburner:info uri="golanlevin" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>40.443269</geo:lat><geo:long>-79.954872</geo:long><item><title>Links for 2010-08-28 [del.icio.us]</title><link>http://feedproxy.google.com/~r/golanlevin/~3/rQ9oJypUR2Q/golan</link><pubDate>Sun, 29 Aug 2010 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/golan#2010-08-28</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.mohndorf.at/"&gt;Mohndorf&lt;/a&gt;&lt;br/&gt;
Poppy seed central&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/golanlevin/~4/rQ9oJypUR2Q" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/golan#2010-08-28</feedburner:origLink></item><item><title>Links for 2010-08-27 [del.icio.us]</title><link>http://feedproxy.google.com/~r/golanlevin/~3/yrSx8-6WsaE/golan</link><pubDate>Sat, 28 Aug 2010 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/golan#2010-08-27</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=hscZCLliGXQ"&gt;homeless dude plays imaginary drums, amazing video&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/golanlevin/~4/yrSx8-6WsaE" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/golan#2010-08-27</feedburner:origLink></item><item><title>Links for 2010-08-24 [del.icio.us]</title><link>http://feedproxy.google.com/~r/golanlevin/~3/kmxTwx8DSZg/golan</link><pubDate>Wed, 25 Aug 2010 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/golan#2010-08-24</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://metaoptimize.com/qa/questions/186/good-freely-available-textbooks-on-machine-learning"&gt;Good Freely Available Textbooks on Machine Learning - MetaOptimize Q+A&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://notbeige.wordpress.com/2009/08/23/500-pencils-by-felissimo-for-social-designer/"&gt;500 Pencils By Felissimo For Social Designer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/golanlevin/~4/kmxTwx8DSZg" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/golan#2010-08-24</feedburner:origLink></item><item><title>Zen with Chalk [Flickr]</title><link>http://feedproxy.google.com/~r/golanlevin/~3/em8SAOUWxv8/</link><dc:creator>golanlevin</dc:creator><pubDate>Wed, 18 Aug 2010 18:07:55 PDT</pubDate><guid isPermaLink="false">tag:flickr.com,2005:/photo/4905676867</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/golanlevin/"&gt;golanlevin&lt;/a&gt; posted a photo:&lt;/p&gt;
	
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/golanlevin/4905676867/" title="Zen with Chalk"&gt;&lt;img src="http://farm5.static.flickr.com/4095/4905676867_21f46251ff_m.jpg" width="180" height="240" alt="Zen with Chalk" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/golanlevin/~4/em8SAOUWxv8" height="1" width="1"/&gt;</description><dc:date.Taken>2010-06-25T21:04:54-08:00</dc:date.Taken><feedburner:origLink>http://www.flickr.com/photos/golanlevin/4905676867/</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/golanlevin/~5/mMm08Y3YLug/4905676867_aa21f2ca62_o.jpg" length="0" type="image/jpeg" /><feedburner:origEnclosureLink>http://farm5.static.flickr.com/4095/4905676867_aa21f2ca62_o.jpg</feedburner:origEnclosureLink></item><item><title>Zen with Chalk [Flickr]</title><link>http://feedproxy.google.com/~r/golanlevin/~3/L1ZNevKzl40/</link><dc:creator>golanlevin</dc:creator><pubDate>Wed, 18 Aug 2010 18:07:51 PDT</pubDate><guid isPermaLink="false">tag:flickr.com,2005:/photo/4906265076</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/golanlevin/"&gt;golanlevin&lt;/a&gt; posted a photo:&lt;/p&gt;
	
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/golanlevin/4906265076/" title="Zen with Chalk"&gt;&lt;img src="http://farm5.static.flickr.com/4136/4906265076_203c0caa86_m.jpg" width="180" height="240" alt="Zen with Chalk" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/golanlevin/~4/L1ZNevKzl40" height="1" width="1"/&gt;</description><dc:date.Taken>2010-06-25T21:04:49-08:00</dc:date.Taken><feedburner:origLink>http://www.flickr.com/photos/golanlevin/4906265076/</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/golanlevin/~5/CIxW2dnFcmY/4906265076_b376505515_o.jpg" length="0" type="image/jpeg" /><feedburner:origEnclosureLink>http://farm5.static.flickr.com/4136/4906265076_b376505515_o.jpg</feedburner:origEnclosureLink></item><item><title>Zen with Chalk [Flickr]</title><link>http://feedproxy.google.com/~r/golanlevin/~3/zJtILIaTDvQ/</link><dc:creator>golanlevin</dc:creator><pubDate>Wed, 18 Aug 2010 18:07:46 PDT</pubDate><guid isPermaLink="false">tag:flickr.com,2005:/photo/4906264858</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/golanlevin/"&gt;golanlevin&lt;/a&gt; posted a photo:&lt;/p&gt;
	
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/golanlevin/4906264858/" title="Zen with Chalk"&gt;&lt;img src="http://farm5.static.flickr.com/4094/4906264858_14a460be44_m.jpg" width="180" height="240" alt="Zen with Chalk" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/golanlevin/~4/zJtILIaTDvQ" height="1" width="1"/&gt;</description><dc:date.Taken>2010-06-25T21:04:32-08:00</dc:date.Taken><feedburner:origLink>http://www.flickr.com/photos/golanlevin/4906264858/</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/golanlevin/~5/9AoB6Zykr0E/4906264858_103e4dbeb7_o.jpg" length="0" type="image/jpeg" /><feedburner:origEnclosureLink>http://farm5.static.flickr.com/4094/4906264858_103e4dbeb7_o.jpg</feedburner:origEnclosureLink></item><item><title>Zen with Chalk [Flickr]</title><link>http://feedproxy.google.com/~r/golanlevin/~3/sqOK8h6cMrE/</link><dc:creator>golanlevin</dc:creator><pubDate>Wed, 18 Aug 2010 18:07:42 PDT</pubDate><guid isPermaLink="false">tag:flickr.com,2005:/photo/4906264694</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/golanlevin/"&gt;golanlevin&lt;/a&gt; posted a photo:&lt;/p&gt;
	
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/golanlevin/4906264694/" title="Zen with Chalk"&gt;&lt;img src="http://farm5.static.flickr.com/4076/4906264694_9820a98892_m.jpg" width="180" height="240" alt="Zen with Chalk" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/golanlevin/~4/sqOK8h6cMrE" height="1" width="1"/&gt;</description><dc:date.Taken>2010-06-25T21:04:28-08:00</dc:date.Taken><feedburner:origLink>http://www.flickr.com/photos/golanlevin/4906264694/</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/golanlevin/~5/adoF_ZxWcQs/4906264694_21d63dcfbd_o.jpg" length="0" type="image/jpeg" /><feedburner:origEnclosureLink>http://farm5.static.flickr.com/4076/4906264694_21d63dcfbd_o.jpg</feedburner:origEnclosureLink></item><item><title>Zen with Chalk [Flickr]</title><link>http://feedproxy.google.com/~r/golanlevin/~3/wmj10TTqt98/</link><dc:creator>golanlevin</dc:creator><pubDate>Wed, 18 Aug 2010 18:07:36 PDT</pubDate><guid isPermaLink="false">tag:flickr.com,2005:/photo/4906264514</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/golanlevin/"&gt;golanlevin&lt;/a&gt; posted a photo:&lt;/p&gt;
	
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/golanlevin/4906264514/" title="Zen with Chalk"&gt;&lt;img src="http://farm5.static.flickr.com/4093/4906264514_68c976bec6_m.jpg" width="180" height="240" alt="Zen with Chalk" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/golanlevin/~4/wmj10TTqt98" height="1" width="1"/&gt;</description><dc:date.Taken>2010-06-25T21:04:20-08:00</dc:date.Taken><feedburner:origLink>http://www.flickr.com/photos/golanlevin/4906264514/</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/golanlevin/~5/7KA2bbIy7CU/4906264514_458db34252_o.jpg" length="0" type="image/jpeg" /><feedburner:origEnclosureLink>http://farm5.static.flickr.com/4093/4906264514_458db34252_o.jpg</feedburner:origEnclosureLink></item><item><title>Links for 2010-08-09 [del.icio.us]</title><link>http://feedproxy.google.com/~r/golanlevin/~3/OhZxvDCCuyc/golan</link><pubDate>Tue, 10 Aug 2010 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/golan#2010-08-09</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.cmu.edu/hub/docs/calendars/1011-important-dates.pdf"&gt;CMU important dates doc&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/golanlevin/~4/OhZxvDCCuyc" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/golan#2010-08-09</feedburner:origLink></item><item><title>Links for 2010-08-06 [del.icio.us]</title><link>http://feedproxy.google.com/~r/golanlevin/~3/3-W_jXsm6gI/golan</link><pubDate>Sat, 07 Aug 2010 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/golan#2010-08-06</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://new.myfonts.com/fonts/hvdfonts/brandon-grotesque/"&gt;Brandon Grotesque font family &amp;quot; MyFonts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/golanlevin/~4/3-W_jXsm6gI" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/golan#2010-08-06</feedburner:origLink></item><item><title>Links for 2010-08-05 [del.icio.us]</title><link>http://feedproxy.google.com/~r/golanlevin/~3/1mNwAKPHGn0/golan</link><pubDate>Fri, 06 Aug 2010 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/golan#2010-08-05</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://training.oreilly.com/arduino/"&gt;Processing and Arduino in Tandem: Creating Your Own Digital Art Tools ...&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/golanlevin/~4/1mNwAKPHGn0" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/golan#2010-08-05</feedburner:origLink></item><item><title>Links for 2010-08-01 [del.icio.us]</title><link>http://feedproxy.google.com/~r/golanlevin/~3/nELLqbfCuSM/golan</link><pubDate>Mon, 02 Aug 2010 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/golan#2010-08-01</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.dunecraft.com/products/slipperyspheres.htm"&gt;Dunecraft: Slippery Spheres&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://glowproducts.com/glowsticks/infraredglowsticks/"&gt;Glow Sticks and Light Sticks: Infrared Glow Sticks (Infra-Red)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/golanlevin/~4/nELLqbfCuSM" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/golan#2010-08-01</feedburner:origLink></item><item>
		<title>Installing Arduino with Firmata for MaxMSP and Processing in OSX</title>
		<link>http://feedproxy.google.com/~r/golanlevin/~3/6kXFAul6sek/</link>
		<comments>http://www.flong.com/blog/2010/installing-arduino-with-firmata-for-maxmsp-and-processing-in-osx/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 01:42:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[external]]></category>
		<category><![CDATA[reference]]></category>

		<guid isPermaLink="false">http://www.flong.com/blog/?p=981</guid>
		<description><![CDATA[Firmata is a library which allows environments like Processing and MaxMSP/Jitter to communicate with the Arduino microcontroller over USB. More specifically, Firmata allows these environments to treat the tethered Arduino as a transparent interface board for communicating with sensors and actuators. This means that students learning MaxMSP or Processing can execute a reasonable subset of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://firmata.org/wiki/Main_Page" target="_blank">Firmata</a> is a library which allows environments like <a href="http://processing.org/" target="_blank">Processing</a> and <a href="http://cycling74.com/products/maxmspjitter/" target="_blank">MaxMSP/Jitter</a> to communicate with the <a href="http://www.arduino.cc/">Arduino</a> microcontroller over USB. More specifically, Firmata allows these environments to treat the tethered Arduino as a transparent interface board for communicating with sensors and actuators. This means that students learning MaxMSP or Processing can execute a reasonable subset of physical computing projects without ever having to program the Arduino itself (so long as their Arduino board has been programmed, once, with Firmata).</p>
<p>This blog post gives instructions for how to get Firmata working with both Processing and MaxMSP on Mac OSX 10.6.3. The information is current as of 8 July 2010, but is naturally certain to change. The context for this blog post is that I&#8217;m working with my university&#8217;s Computing Services staff to develop an administrator&#8217;s disk image for some new Macs that have just arrived. I prepared the information below for this crew, who are talented IT professionals that happen not to have domain expertise in arts-computing platforms. To the best of my knowledge, this information has not yet been compiled in any one place, but is rather distributed around the Internet in too many pages, some of which are out of date. I welcome comments and corrections.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p><strong>The specific list of 8 installation packages are as follows.<br />
<em>Detailed  instructions for installing and testing these packages<br />
can be found  in the sections below. </em></strong></p>
<ol>
<li>Arduino IDE version 0018: <a href="http://arduino.googlecode.com/files/arduino-0018.dmg" target="_blank">arduino-0018.dmg</a></li>
<li> Drivers for Arduino boards:  FTDIUSBSerialDriver_10_4_10_5_10_6</li>
<li>Firmata version 2.1+ for  Arduino: <a href="http://maxuino.org/wp-content/uploads/2010/02/firmata.tar.gz" target="_blank">firmata.tar.gz</a></li>
<li>Max/MSP/Jitter 5.1.3  or later: e.g. <a href="http://www.cycling74.com/download/Max5_42462.dmg" target="_blank">Max5_42462.dmg</a></li>
<li>OSC-route external library for Max: <a href="http://cnmat.berkeley.edu/files/maxdl/OSX-MachO/OSC-route_1.17.1.tar.gz" target="_blank">OSC-route_1.17.1.tar.gz</a></li>
<li>Maxuino library  for Max v.009: <a href="http://www.maxuino.org/wp-content/uploads/2010/04/maxuino-009.zip" target="_blank">maxuino-009.zip</a></li>
<li>Processing version 0186, <a href="http://processing.googlecode.com/files/processing-0186.dmg" target="_blank">processing-0186.dmg</a>.</li>
<li>Arduino for Processing  library, <a href="http://www.arduino.cc/playground/uploads/Interfacing/processing-arduino-0017.zip" target="_blank">processing-arduino-0017.zip</a>.</li>
</ol>
<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<strong><span style="font-size: medium;">Installing Arduino:</span></strong></p>
<p><strong>Overview of  instructions below:</strong></p>
<ul>
<li>Install Arduino programming environment</li>
<li>Install FTDIUSBSerialDriver, a serial driver for Arduino boards</li>
<li> Install Firmata extension library for Arduino</li>
<li> Test Arduino installation</li>
</ul>
<p><strong>Installing the Arduino IDE:</strong></p>
<ul>
<li><strong>From: </strong><a href="http://arduino.cc/en/Main/Software" target="_blank">http://arduino.cc/en/Main/Software</a> (download page)</li>
<li><strong>Download: </strong><a href="http://arduino.googlecode.com/files/arduino-0018.dmg" target="_blank">http://arduino.googlecode.com/files/arduino-0018.dmg</a></li>
<li> OR Download <a href="http://files.arduino.cc/downloads/arduino-0018.dmg" target="_blank">http://files.arduino.cc/downloads/arduino-0018.dmg</a></li>
<li> Double-click on <a href="http://arduino.googlecode.com/files/arduino-0018.dmg" target="_blank">arduino-0018.dmg</a>;</li>
<li>Drag the &#8220;Arduino&#8221; icon into  &#8220;Applications&#8221;.</li>
</ul>
<p><strong>Install the FTDIUSBSerialDriver v2.2.14</strong>:</p>
<ul>
<li> This is a <em>crucial</em> serial driver for Arduino devices.</li>
<li>Make sure the Arduino app is not running.</li>
<li>Double-click on <a href="http://arduino.googlecode.com/files/arduino-0018.dmg" target="_blank">arduino-0018.dmg</a>;</li>
<li> You will see a yellow package, <em>FTDIUSBSerialDriver_10_4_10_5_10_6</em></li>
<li>Click on the package and follow the instructions.</li>
<li>You will need  to enter the administrator password.</li>
<li><em>To check this  installation</em>, launch the Arduino app;</li>
<li> From the menu bar, navigate: Tools-&gt;Board-&gt;&#8230;</li>
<li> You should  see a list of about a dozen different Arduino boards.</li>
</ul>
<p><strong>Installing   the best version of the Firmata (2.1+) library for Arduino:</strong></p>
<ul>
<li>Make sure the Arduino app is not running.</li>
<li> In Applications, Right-click on the Arduino app, &#8220;Show Package  Contents&#8221;</li>
<li>Navigate to (Arduino)/Contents/Resources/Java/libraries</li>
<li>You will see a library entitled &#8220;Firmata&#8221;. We want to replace this, so  delete it or move it somewhere else.<br />
<em>(Note: this replacement will not be necessary in Arduino-019 and later versions)</em></li>
<li> Download <a href="http://maxuino.org/wp-content/uploads/2010/02/firmata.tar.gz" target="_blank">http://maxuino.org/wp-content/uploads/2010/02/firmata.tar.gz</a>.</li>
<li>Replace the “Firmata” library included with Arduino-018 with this  downloaded version.</li>
<li> <em>Note</em>: this downloaded version has the same release number  (2.1) but is improved.</li>
<li><em>To check this installation</em>, launch  the Arduino app;</li>
<li>From the menu bar, navigate: Sketch-&gt;Import  Library-&gt;Firmata</li>
<li> In the text area of the sketch, you should see two lines:<br />
#include &lt;Boards.h&gt;<br />
#include &lt;Firmata.h&gt;</li>
</ul>
<p><strong>Testing   the installation of the Arduino IDE: </strong></p>
<ul>
<li>Obtain  an Arduino Duemilanove board and USB cable.</li>
<li> Connect the Arduino board to a USB port.</li>
<li>Launch the Arduino  app.</li>
<li>Open the &#8220;Blink&#8221; example:</li>
<li> Navigate from the menu bar:  File-&gt;Examples-&gt;Digital-&gt;Blink</li>
<li>Choose the appropriate  board:<br />
Navigate the menu: Tools-&gt;Board-&gt;&#8221;Arduino Duemilanove or Nano  w/ ATmega328&#8243;</li>
<li>Guess and select the serial port on which the  Arduino board is connected:<br />
Navigate the menu: Tools-&gt;Serial  Port-&gt;/dev/tty.usbserial&#8230;<br />
(<em>Note: you may need to test several different serial ports&#8230;</em>)</li>
<li>Navigate: Sketch-&gt;Verify/Compile</li>
<li>Navigate: File-&gt;Upload to  I/O Board</li>
<li>The Arduino board should twinkle briefly;<br />
then it  should Blink on/off once per second.</li>
</ul>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<strong><span style="font-size: medium;">Installing Max/MSP/Jitter with Firmata:</span></strong></p>
<p><strong>Overview  of instructions below</strong>:</p>
<ul>
<li> Install MaxMSP/Jitter</li>
<li>Install OSC-route &#8220;external&#8221; for MaxMSP</li>
<li>Install Maxuino library</li>
</ul>
<p><strong>Install MaxMSP/Jitter: </strong></p>
<ul>
<li>We  assume you have already installed MaxMSP/Jitter 5.1.3 or later,<br />
having downloaded and installed from <a href="http://cycling74.com/products/maxmspjitter/" target="_blank">http://cycling74.com/products/maxmspjitter/</a><br />
e.g. the most recent build from <a href="http://www.cycling74.com/download/Max5_42462.dmg" target="_blank">http://www.cycling74.com/download/Max5_42462.dmg</a><br />
and we assume the application is installed into Applications/Max5/</li>
</ul>
<p><strong>Installing  OSC-route, an external for MaxMSP</strong></p>
<ul>
<li><strong>From:</strong> <a href="http://cnmat.berkeley.edu/downloads" target="_blank">http://cnmat.berkeley.edu/downloads</a></li>
<li><strong>Download </strong>the “OSC-route” Max external: <a href="http://cnmat.berkeley.edu/files/maxdl/OSX-MachO/OSC-route_1.17.1.tar.gz" target="_blank">http://cnmat.berkeley.edu/files/maxdl/OSX-MachO/OSC-route_1.17.1.tar.gz</a></li>
<li>Unzip <a href="http://cnmat.berkeley.edu/files/maxdl/OSX-MachO/OSC-route_1.17.1.tar.gz" target="_blank">OSC-route_1.17.1.tar.gz</a>; you will see  &#8220;OSC-route.maxhelp&#8221; and &#8220;OSC-route.mxo&#8221;</li>
<li> Drag &#8220;OSC-route.mxo&#8221; into Applications/Max5/Cycling &#8217;74/max-externals</li>
<li>Drag &#8220;OSC-route.maxhelp&#8221; into Applications/Max5/Cycling &#8217;74/max-help</li>
</ul>
<p><strong>Installing  Maxuino, a library for MaxMSP: </strong></p>
<ul>
<li><strong>From:</strong> <a href="http://www.maxuino.org/?p=58" target="_blank">http://www.maxuino.org/?p=58</a></li>
<li><strong>Download:</strong> <a href="http://www.maxuino.org/wp-content/uploads/2010/04/maxuino-009.zip" target="_blank">http://www.maxuino.org/wp-content/uploads/2010/04/maxuino-009.zip</a></li>
<li> Unzip <a href="http://www.maxuino.org/wp-content/uploads/2010/04/maxuino-009.zip" target="_blank">maxuino-009.zip</a></li>
<li>Drag the unzipped folder  maxuino-009 into the Applications/Max5/ application folder, at  the same level as the &#8220;Cycling &#8217;74&#8243; folder, etc.</li>
<li> Launch the MaxMSP app.</li>
<li>Now we will add Maxuino to the MaxMSP  Search Path:</li>
<li>Navigate the menu bar in MaxMSP: Options-&gt;File  Preferences&#8230;-&gt;</li>
<li>Click the <strong>+</strong> sign at the bottom left of the File Preferences window; this adds a new  path.</li>
<li>Press the &#8220;Choose&#8221; button and select the maxuino-009  folder.</li>
<li>Make sure the checkbox in the Subfolders column is  checked.</li>
<li> Double-click on the &#8220;userpath_3&#8243; name, and change it to &#8220;Maxuino&#8221;</li>
<li>Close the File Preferences window and quit the MaxMSP app.</li>
<li>Instructions for testing the Firmata bridge to MaxMSP are below.</li>
</ul>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<span style="font-size: medium;"><strong><em>Testing</em> the Firmata bridge from MaxMSP to  Arduino</strong></span></p>
<p><strong>First, in Arduino: </strong></p>
<ul>
<li> We assume you have installed and tested the Arduino IDE as described  above.</li>
<li>With the Arduino board connected to a USB port, launch the  Arduino  app.</li>
<li>Check that the board type is correct: Tools-&gt;Board-&gt;&#8221;Arduino  Duemilanove or Nano  w/ ATmega328&#8243;</li>
<li> Check that the USB port is correct: : Tools-&gt;Serial  Port-&gt;/dev/tty.usbserial&#8230;</li>
<li> Open the example program,  File-&gt;Examples-&gt;Firmata-&gt;StandardFirmata</li>
<li> Navigate: Sketch-&gt;Verify/Compile</li>
<li> Navigate: File-&gt;Upload  to I/O Board</li>
<li> The Arduino board should twinkle briefly&#8230;.</li>
</ul>
<p><strong>Then, in  MaxMSP:</strong></p>
<ul>
<li>Double-click &#8220;MaxMSP&#8221; to launch  the application.</li>
<li>Navigate the menu bar in Max/MSP:  File-&gt;Open&#8230;.</li>
<li>Open the Max patch file:<br />
Applications/Max5/maxuino-009/examples/maxuino-example-GUI.maxpat</li>
<li>For the next instructions, please refer to the attached image,  &#8220;max-test-firmata.png&#8221;</li>
<li> You will see a dark green window, with a light green section called  &#8220;Digital Pins&#8221;<br />
on the right half of the screen, with pins numbered  from 0&#8230;53.</li>
</ul>
<p><img class="alignnone size-full wp-image-991" title="max-test-firmata" src="http://www.flong.com/blog/wp-content/uploads/2010/07/max-test-firmata1.jpg" alt="" width="665" height="632" /></p>
<ul>
<li>In this section, find Pin 13, which is under the &#8220;3&#8243;  to the right of the large &#8220;10&#8243;.</li>
<li> Click on the little white box which says &#8220;in&#8221;; this will reveal a  small pulldown menu.</li>
<li>Using this menu, set Pin 13 to become an  output instead of an input.</li>
<li>Now click the gray button labeled  &#8220;out&#8221; which is two buttons below the white button.</li>
<li> The button will turn yellow and report &#8220;OUT&#8221; in all-caps;<br />
Meanwhile, the orange LED on the Arduino will light up.</li>
<li>Clicking  on the &#8220;OUT&#8221; button once again will turn off the Arduino&#8217;s LED.</li>
</ul>
<p><strong>Possibly helpful additional web pages:</strong><br />
<a href="http://www.cycling74.com/docs/max5/vignettes/core/file_preferences_window.html#searchpath" target="_blank">http://www.cycling74.com/docs/max5/vignettes/core/file_preferences_window.html#searchpath</a><br />
<a href="http://www.soundplusdesign.com/?p=1305" target="_blank">http://www.soundplusdesign.com/?p=1305</a><br />
<a href="http://www.maxuino.org/?p=58" target="_blank">http://www.maxuino.org/?p=58</a></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<strong><span style="font-size: medium;">Installing Processing with Firmata:</span></strong></p>
<p><strong>Overview of instructions below:</strong></p>
<ul>
<li>Install <em>Processing</em> development environment</li>
<li>Install<em> Arduino for Processing</em> extension  library</li>
<li>Check that the library is installed.</li>
</ul>
<p><strong>Install &#8220;Processing&#8221; version 0186:</strong></p>
<ul>
<li><strong>From:</strong> <a href="http://processing.org/download/" target="_blank">http://processing.org/download/</a></li>
<li><strong>Download:</strong> <a href="http://processing.googlecode.com/files/processing-0186.dmg" target="_blank">http://processing.googlecode.com/files/processing-0186.dmg</a></li>
<li> This disk image installs in the usual manner.</li>
</ul>
<p><strong>Instructions for installing &#8220;Arduino for Processing&#8221; Library:</strong></p>
<ul>
<li>After installing the Processing app in the Applications directory,</li>
<li>Make sure the Processing app is not running.</li>
<li><strong>From:</strong> <a href="http://www.arduino.cc/playground/Interfacing/Processing" target="_blank">http://www.arduino.cc/playground/Interfacing/Processing</a></li>
<li><strong>Download:</strong> <a href="http://www.arduino.cc/playground/uploads/Interfacing/processing-arduino-0017.zip" target="_blank">http://www.arduino.cc/playground/uploads/Interfacing/processing-arduino-0017.zip</a></li>
<li><em>Right-click</em> on the Processing app, to &#8220;Show Package  Contents&#8221;</li>
<li> Navigate to (Processing)/Contents/Resources/Java/libraries</li>
<li>Unzip &#8220;processing-arduino-0017.zip&#8221;, which produces a folder called  &#8220;arduino&#8221;</li>
<li>Drag the &#8220;arduino&#8221; folder into the &#8220;libraries&#8221; folder.  It will be at  the same level as &#8220;dxf&#8221;, etc.</li>
<li>Now we will put the &#8220;Arduino  examples&#8221; in the correct place:</li>
<li>Create a new folder in  (Processing)/Contents/Resources/Java/examples/Library/ called  &#8220;Arduino&#8221;.<br />
You should now have: (Processing)/Contents/Resources/Java/examples/Library/Arduino</li>
<li>Open (Processing)/Contents/Resources/Java/libraries/arduino/examples<br />
You will see 3 folders, for &#8220;arduino_input&#8221;, &#8220;arduino_output&#8221;,  &#8220;arduino_pwm&#8221;</li>
<li> Drag these 3 folders into (Processing)/Contents/Resources/Java/examples/Library/Arduino.</li>
<li><strong>To <em>check</em> this library installation: </strong></li>
<li>Double-click  &#8220;Processing&#8221; to launch the application.</li>
<li> In the  menu bar, navigate to Sketch-&gt;Import Library&#8230;.</li>
<li>In the  resulting pulldown menu, you should now see: <em>arduino</em> among the  other libraries.</li>
<li>Navigate the menu bar:  File-&gt;Examples-&gt;Library-&gt;Arduino</li>
<li>You should see  &#8220;arduino_input&#8221;, &#8220;arduino_output&#8221;, &#8220;arduino_pwm&#8221;.</li>
<li> Instructions for testing the Firmata bridge to Processing are below.</li>
</ul>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<span style="font-size: medium;"><strong><em>Testing</em> the Firmata bridge from Processing to  Arduino</strong></span></p>
<p><strong>First, in Arduino: </strong></p>
<ul>
<li>We assume you have installed and  tested the Arduino IDE as described  above.</li>
<li>With the Arduino board connected to a USB port, launch the  Arduino app.</li>
<li>Check that the board type is correct:  Tools-&gt;Board-&gt;&#8221;Arduino Duemilanove or Nano  w/ ATmega328&#8243;</li>
<li>Check that the USB port is correct: :  Tools-&gt;Serial  Port-&gt;/dev/tty.usbserial&#8230;</li>
<li>Open the example program,  File-&gt;Examples-&gt;Firmata-&gt;StandardFirmata</li>
<li>Navigate:  Sketch-&gt;Verify/Compile</li>
<li>Navigate: File-&gt;Upload  to I/O Board</li>
<li>The Arduino board should twinkle briefly&#8230;.</li>
</ul>
<p><strong>Then,  in Processing:</strong></p>
<ul>
<li>Double-click &#8220;Processing&#8221; to launch the  application.</li>
<li>Navigate the menu bar:  File-&gt;Examples-&gt;Library-&gt;Arduino<br />
You should see  &#8220;arduino_input&#8221;, &#8220;arduino_output&#8221;, &#8220;arduino_pwm&#8221;.</li>
<li>Open the example  project &#8220;arduino_output&#8221;.</li>
<li>Navigate the menu bar: Sketch-&gt;Run<br />
You will see a small blue window with 14 boxes.</li>
<li> Click the leftmost box while observing the Arduino board.<br />
The  Arduino&#8217;s LED should light up.</li>
<li>Click the leftmost box again.<br />
The Arduino&#8217;s LED should turn off.</li>
</ul>
<p><strong> </strong></p>
</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/golanlevin?a=6kXFAul6sek:o3x1SxKEAw8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/golanlevin?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/golanlevin/~4/6kXFAul6sek" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.flong.com/blog/2010/installing-arduino-with-firmata-for-maxmsp-and-processing-in-osx/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.flong.com/blog/2010/installing-arduino-with-firmata-for-maxmsp-and-processing-in-osx/</feedburner:origLink></item>
		<item>
		<title>GML Stenciler: Laser Cut Patterns from Graffiti Markup Language</title>
		<link>http://feedproxy.google.com/~r/golanlevin/~3/ueXNfguy9pg/</link>
		<comments>http://www.flong.com/blog/2010/gml-stenciler/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 23:34:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[#OF]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[automatic]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[CAD]]></category>
		<category><![CDATA[cleanffiti]]></category>
		<category><![CDATA[cleanfitti]]></category>
		<category><![CDATA[computational design]]></category>
		<category><![CDATA[computer-aided stenciling]]></category>
		<category><![CDATA[cut patterns]]></category>
		<category><![CDATA[EPS]]></category>
		<category><![CDATA[FAT]]></category>
		<category><![CDATA[Free Art and Technology]]></category>
		<category><![CDATA[free open-source software]]></category>
		<category><![CDATA[generative]]></category>
		<category><![CDATA[GML]]></category>
		<category><![CDATA[GML-Stenciler]]></category>
		<category><![CDATA[GML-Stenciller]]></category>
		<category><![CDATA[GMLStenciler]]></category>
		<category><![CDATA[GMLStenciller]]></category>
		<category><![CDATA[graf]]></category>
		<category><![CDATA[graffiti]]></category>
		<category><![CDATA[Graffiti Markup Language]]></category>
		<category><![CDATA[graffiti research]]></category>
		<category><![CDATA[grafitti]]></category>
		<category><![CDATA[GRL]]></category>
		<category><![CDATA[inverse graffiti]]></category>
		<category><![CDATA[laser cutter]]></category>
		<category><![CDATA[laser cutting]]></category>
		<category><![CDATA[OpenCV]]></category>
		<category><![CDATA[openframeworks]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[pochoir]]></category>
		<category><![CDATA[software tools]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[stencil]]></category>
		<category><![CDATA[stenciler]]></category>
		<category><![CDATA[stenciller]]></category>
		<category><![CDATA[vector art]]></category>
		<category><![CDATA[vector output]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.flong.com/blog/?p=880</guid>
		<description><![CDATA[We announce the release of GMLStenciler, an open-source software project for converting Graffiti Markup Language (GML) drawings into vector-art stencils suitable for laser cutting. This free tool solves the problem of transforming GML&#8217;s widthless linear strokes into adjustably-thickened stencil patterns with automatically bridged islands. GMLStenciler is built in openFrameworks, an open-source C++ toolkit  for creative [...]]]></description>
			<content:encoded><![CDATA[<p>We announce the release of <em>GMLStenciler</em>, an open-source software project for converting <a href="http://fffff.at/gml-week-graffiti-markup-language/" target="_blank">Graffiti Markup Language</a> (GML) drawings into vector-art stencils suitable  for laser cutting. This free tool solves the problem of transforming GML&#8217;s widthless linear strokes into adjustably-thickened stencil patterns with <a href="http://en.wikipedia.org/wiki/Stencil" target="_blank">automatically bridged islands</a>. <em>GMLStenciler </em>is built in <a href="http://www.openframeworks.cc/" target="_blank">openFrameworks</a>, an open-source C++ toolkit  for creative coding; it can be <a href="#downloads">downloaded below</a> (with complete source code) for Windows and Mac OSX.</p>
<p><img class="alignnone size-full wp-image-890" title="Complete GMLStenciler Process" src="http://www.flong.com/blog/wp-content/uploads/2010/07/gml_stenciler_anim_665.gif" alt="" width="665" height="480" /></p>
<p><strong>Overview</strong><br />
In January 2010 the <a href="http://fffff.at/" target="_blank">F.A.T.  Lab</a> released a  suite of XML specifications and open-source tools for recording and  displaying handwritten marks, which they named <a href="http://fffff.at/gml-week-graffiti-markup-language/" target="_blank">Graffiti Markup Language</a> (GML). Their flagship  system is the <em><a href="http://http//graffitianalysis.com/iphone/" target="_blank">Graffiti    Analysis</a></em> software by <a href="http://csugrue.com/">Chris  Sugrue</a> and <a href="http://evan-roth.com/">Evan Roth</a>,  which allows GML drawings to be <a href="http://graffitianalysis.com/iphone/" target="_blank">recorded  with an iPhone</a>, uploaded to an online database, and freely shared at  the #<a href="http://www.000000book.com/" target="_blank">000000book.com</a> website. Users of <em>Graffiti Analysis</em> have contributed some  17,500 tags to date. As with our <a href="http://www.flong.com/blog/2010/robotic-graffiti-tagger/" target="_blank"><em>Robotagger</em></a> project, the <em>GMLStenciler </em>software<em> </em>presented here<em> </em>offers a means by which these virtual handwritten marks can be given  physical form, made multiple, and economically disseminated at a variety of scales.</p>
<p><strong>Operation</strong><br />
The  Graffiti Markup Language <a href="http://graffitianalysis.com/gml/" target="_blank">specification</a> defines a &#8220;tag&#8221; as a sequence of  linear &#8220;strokes&#8221;, each consisting of a sequence of timestamped (x,y)  points. These strokes lack a width or thickness; as a result, it is not  possible to stencil raw GML tags directly. <em>GMLStenciler</em> solves this  by providing a tool in which:</p>
<p>● The user imports a GML file, such as this one from <a href="http://www.000000book.com/data/17250" target="_blank">000000book.com</a>:</p>
<p><a href="http://www.000000book.com/data/17250" target="_blank"><img class="alignnone size-full wp-image-927" title="gml_stenciler_raw_665" src="http://www.flong.com/blog/wp-content/uploads/2010/07/gml_stenciler_raw_665.png" alt="" width="665" height="331" /></a></p>
<p>● An interface is provided by which the user can select an adjustable thickness for rendering the tag&#8217;s strokes. Using <a href="http://opencv.willowgarage.com/wiki/faq#DoesOpenCVstillworkwiththeoptimizedIntelIPPlibraries.3F" target="_blank">OpenCV</a>, the system then automatically detects &#8220;holes&#8221; in the rendered tag (such as would be produced by the <em><a href="http://en.wikipedia.org/wiki/Counter_%28typography%29" target="_blank">closed counters</a></em> within characters like A, B, D, O, P, Q, R, etc.). These holes are problematic for stencils because they form loose &#8220;islands&#8221; that, left unbridged, would disappear from the final stenciled design.</p>
<p><img class="alignnone size-full wp-image-918" title="gml_stenciler_find_holes_665" src="http://www.flong.com/blog/wp-content/uploads/2010/07/gml_stenciler_find_holes_665.jpg" alt="The software automatically detects 'holes'" width="665" height="453" /></p>
<p>● The user can select one of several methods by which these holes will be automatically bridged. Options for this operation include: <a href="http://www.flickr.com/photos/golanlevin/4754639043/">bridging at the top point</a> of each counter, <a href="http://www.flickr.com/photos/golanlevin/4754638947/" target="_blank">bridging at the nearest point</a> to the counter&#8217;s enclosing stroke, etc. Because <em>GMLStenciler</em> bridges holes recursively, strokes  with complex nested structures or holes-inside-of-holes (as in the symbols ®, ◎, ©, ʘ,  etc.) are still bridged successfully:</p>
<p><img class="alignnone size-full wp-image-919" title="gml_stenciler_bridges_665" src="http://www.flong.com/blog/wp-content/uploads/2010/07/gml_stenciler_bridges_665.jpg" alt="The software automatically bridges islands in the stencil" width="665" height="427" /></p>
<p>● The user can export the stencil design as an EPS (Encapsulated PostScript) vector file. (Here&#8217;s a raw <a href="http://www.flong.com/blog/wp-content/uploads/2010/07/stencil_148.eps">example output file</a> created by <em>GMLStenciler.</em>) Optionally, this EPS file can be loaded into CAD programs or vector art editors like Illustrator or CorelDraw for further editing:</p>
<p><img class="alignnone size-full wp-image-931" title="gml_stenciler_illustrator_665" src="http://www.flong.com/blog/wp-content/uploads/2010/07/gml_stenciler_illustrator_6651.png" alt="EPS files generated by GMLStenciler can be opened in common vector editors." width="665" height="310" /></p>
<p>● The EPS file can then be used as the pattern for cutting a stencil on a <a href="http://http://en.wikipedia.org/wiki/Laser_cutting" target="_blank">laser cutter</a>, vinyl cutter, water-jet cutter, CNC router, or other computer-controlled cutting machine. <a href="http://www.google.com/#hl=en&amp;q=laser+cutting+services" target="_blank">Laser cutting services</a> are widely available in many cities, and are also increasingly common in regional <a href="http://hackerspaces.org/wiki/List_of_Hacker_Spaces" target="_blank">hacker spaces</a> and university art, architecture and design departments. Below, the stencil has just been cut from 1/8&#8243; <a href="http://en.wikipedia.org/wiki/Medium-density_fibreboard" target="_blank">MDF</a> (20&#8243;x16&#8243;, about $3) on a 40-watt <a href="http://www.epiloglaser.com/" target="_blank">Epilog</a> laser cutter; cutting time was under 2 minutes. For <em>very large</em> stencils, I recommend using a <a href="http://www.cncrouterstore.com/" target="_blank">CNC router</a>, many of which can accommodate materials up to 5&#8242;x10&#8242;.</p>
<p><img class="alignnone size-full wp-image-921" title="gml_stenciler_cutter_665" src="http://www.flong.com/blog/wp-content/uploads/2010/07/gml_stenciler_cutter_665.jpg" alt="Stencils generated by the software can be cut on a laser-cutter." width="665" height="473" /></p>
<p>These stencils can then be used in a variety of ways. One interesting potential use for such stencils is so-called <em>cleanfitti</em> or <em><a href="http://en.wikipedia.org/wiki/Reverse_graffiti" target="_blank">reverse graffiti</a></em> (also known as clean tagging, dust tagging, or grime writing), in which the stencil is used as a frisket for dirt removal.</p>
<p><img class="alignnone size-full wp-image-925" title="gml_stenciler_painted_665" src="http://www.flong.com/blog/wp-content/uploads/2010/07/gml_stenciler_painted_6651.jpg" alt="" width="665" height="254" /></p>
<h2><a name="downloads"><strong>Downloads</strong></a></h2>
<p>The <em>GMLStenciler</em> can be downloaded here:</p>
<ul>
<li><strong><a href="http://www.flong.com/blog/wp-content/uploads/2010/07/GMLStenciler_1.00_mac.zip">GMLStenciler_1.00_mac.zip</a></strong> [20MB] Includes app and source, as an <a href="http://www.openframeworks.cc/" target="_blank">openFrameworks</a> v0.061 project for MacOSX 10.6.3 / XCode. This zip includes all necessary (ofx) addons, but developers wishing to recompile this will still need to <a href="http://www.openframeworks.cc/download" target="_blank">download</a> the openFrameworks v0.061 library. <a href="http://www.flong.com/blog/wp-content/uploads/2010/07/GMLStenciler_1.00_unFAT_mac.zip">This slimmer 11MB zip</a> omits standard ofx addons and assumes you already have OF v0.061 working.</li>
<li><strong><a href="http://www.flong.com/blog/wp-content/uploads/2010/07/GMLStenciler_0.99_win.zip">GMLStenciler_0.99_win.zip</a></strong> [21MB] Includes exe and source, as an <a href="http://www.openframeworks.cc/" target="_blank">openFrameworks</a> v0.061 project for WinXP+ with MS VisualStudio 2008. This build currently lags the Mac version very slightly.</li>
<li><a href="http://github.com/golanlevin/GMLStenciler" target="_blank"><strong>As a Github repository</strong></a>. <span style="color: #ff0000;"><em>Developers, note:</em></span> The most recent version of the source code can be found here.</li>
</ul>
<p><em> </em><strong>License and Disclaimer</strong><br />
The <em>GMLStenciler</em> software is licensed under the <a href="http://creativecommons.org/licenses/GPL/2.0/">CC-GNU GPL</a> version 2.0 or later. All <em>Graffiti Analysis</em> related media is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">Creative  Commons Attribution-Noncommercial-Share Alike 3.0 United States License</a>. Users of <em>GMLStenciler</em> are solely responsible for their activities  while using this tool; this site and its author(s) do not condone  illegal uses of the <em>GMLStenciler</em> software.</p>
<p><a href="http://creativecommons.org/licenses/GPL/2.0/"><img src="http://www.flong.com/blog/wp-content/uploads/2010/07/cc-GPL-a.png" border="0" alt="CC-GNU GPL" width="88" height="62" /></a></p>
<p><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/"><img style="border-width: 0;" src="http://www.flong.com/blog/wp-content/uploads/2010/07/cc_88x31.png" alt="Creative Commons License" width="88" height="31" /></a></p>
<p><strong>Credits and Acknowledgments</strong><br />
The <em>GMLStenciler</em> software was entirely developed by Charlie, my 15-year-old intern, during June 2010. Charlie (a rising Junior in a Pittsburgh-area high school) has a solid background in Java programming and server-side web scripting, but hadn&#8217;t previously worked with C++, OpenGL, OpenCV, or openFrameworks, so this proved to be an ideal learning project. Here&#8217;s a photo of Charlie.</p>
<p><img class="alignnone size-full wp-image-902" title="gml_stenciler_charlie_665" src="http://www.flong.com/blog/wp-content/uploads/2010/07/gml_stenciler_charlie_665.jpg" alt="" width="665" height="337" /></p>
<p>Charlie developed <em>GMLStenciler </em>in <a href="http://www.openframeworks.cc/" target="_blank">openFrameworks</a> under the auspices of <a href="http://www.flong.com" target="_blank">Golan Levin</a>. <em>GMLStenciler</em> makes use of the <a href="http://fffff.at/gml-week-graffiti-markup-language/" target="_blank">Graffiti Markup Language</a> (GML) specification released by the <a href="http://fffff.at/" target="_blank">F.A.T. Lab</a>, and includes code developed by <a href="http://csugrue.com/">Chris Sugrue</a> and <a href="http://evan-roth.com/">Evan Roth</a> for their <a href="http://http://graffitianalysis.com/iphone/" target="_blank">Graffiti Analysis</a> software. The <em>GMLStenciler</em> also uses the <a href="http://opencv.willowgarage.com/wiki/faq#DoesOpenCVstillworkwiththeoptimizedIntelIPPlibraries.3F" target="_blank">OpenCV</a> open-source computer vision library. Thanks to <a href="http://kylemcdonald.net/" target="_blank">Kyle McDonald</a>, <a href="http://www.jacobtonski.com" target="_blank">Jacob Tonski</a> and <a href="http://biskerrific.com/" target="_blank">Solomon Bisker</a> for supporting Charlie with <em>ad hoc</em> coding advice during his internship. Thanks to the <a href="http://www.cmu.edu/studio/" target="_blank">STUDIO for Creative Inquiry</a> at Carnegie Mellon University for hosting Charlie, and to the CMU School of Art for the use of its laser cutter. GML &#8220;<a href="http://www.000000book.com/data/17250" target="_blank">em@il</a>&#8221; tag by Evan Roth. <a href="http://www.flickr.com/photos/golanlevin/sets/72157624281834519/" target="_blank">Documentation photos</a> by Kyle McDonald.</p>
<p><strong>References</strong></p>
<ul>
<li>&#8220;<a href="http://www.cs.umbc.edu/~jonbron1/stencil.pdf" target="_blank">Semi-Automatic Stencil Creation through Error Minimization</a>&#8220;. Jonathan Bronson, Penny Rheingans, and Marc Olano. <em>Proceedings of the 6th International Symposium on Non-Photorealistic Animation and Rendering</em>, 2008.</li>
<li>&#8220;<a href="http://www.geocities.jp/igarashi_lab/papers/holly_wiss09.pdf" target="_blank">A Drawing Editor for Stencil Design</a>&#8221; [ステンシルデザインのためのドローエディタ]. Yuki Igarashi and Takeo Igarashi. <em>17th Workshop on Interactive Systems and Software (WISS)</em>, 2009.</li>
</ul>
<p><strong>Keywords</strong><br />
<em>FAT, GML, GRL, #OF, Free Art and Technology, Graffiti Markup  Language, openFrameworks, </em><em>graffiti research, </em><em>GML-Stenciler, GMLStenciler, GML-Stenciller,  GMLStenciller, free open-source software, source code, </em><em>software tools, </em><em>app, laser  cutting, laser cutter, rapid prototyping, digital manufacture, pochoir, frisket, stencil, stenciller,  stenciler, cut patterns, vector art, vector  output, XML, EPS, PDF, CAD, C++, OpenCV, </em><em>graf, graffiti, grafitti, </em><em>cleanffiti, cleanfitti, inverse  graffiti, reverse graffiti, clean tagging, dust tagging, grime writing</em><em>, computational design, computer-aided stenciling, </em><em>automatic stencil creation, automatic stencil generation, hacking, </em><a href="../2010/robotic-graffiti-tagger/" target="_blank"><em>Robotagger</em></a>, <em>graffiti and automation. </em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/golanlevin?a=ueXNfguy9pg:XMWJHSqyo-Y:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/golanlevin?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/golanlevin/~4/ueXNfguy9pg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.flong.com/blog/2010/gml-stenciler/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.flong.com/blog/2010/gml-stenciler/</feedburner:origLink></item>
		<item>
		<title>Rectified Flowers</title>
		<link>http://feedproxy.google.com/~r/golanlevin/~3/qGGrV9UvYO4/</link>
		<comments>http://www.flong.com/blog/2010/rectified-flowers/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 22:02:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://www.flong.com/blog/?p=862</guid>
		<description><![CDATA[Kyle McDonald and I were reading about domain shifting between polar and Cartesian geometries, and noticed that flowers make particularly interesting subjects for this transformation. Abusing my open-source BloggieUnwarper panoramic-imaging software with some flower photographs from Flickr, we produced the &#8220;flower panoramas&#8221; below. This is what you would see if you were doing panoramic imaging [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://kylemcdonald.net/" target="_blank">Kyle McDonald</a> and I were <a href="http://www.jhlabs.com/ip/blurring.html">reading about domain shifting</a> between polar and Cartesian geometries, and noticed that flowers make particularly interesting subjects for this transformation. Abusing my open-source <a href="http://www.flong.com/blog/2010/open-source-panoramic-video-bloggie-openframeworks-processing/" target="_blank"><em>BloggieUnwarper</em></a> panoramic-imaging software with some flower photographs from Flickr, we produced the &#8220;flower panoramas&#8221; below. This is what you would see if you were doing panoramic imaging<em> from inside a flower</em>&#8230;</p>
<p><a href="http://www.flickr.com/photos/golanlevin/4747146366/"><img class="alignnone size-full wp-image-864" title="nganguyen-2483366534_rectified_665" src="http://www.flong.com/blog/wp-content/uploads/2010/06/nganguyen-2483366534_rectified_665.jpg" alt="" width="665" height="220" /></a></p>
<p><a href="http://www.flickr.com/photos/golanlevin/4746504551/"><img class="alignnone size-full wp-image-865" title="kabils-2668030310_rectified_665" src="http://www.flong.com/blog/wp-content/uploads/2010/06/kabils-2668030310_rectified_665.jpg" alt="" width="665" height="221" /></a></p>
<p><a href="http://www.flickr.com/photos/golanlevin/4746504721/"><img class="alignnone size-full wp-image-866" title="cmogle-3300374909_rectified_665" src="http://www.flong.com/blog/wp-content/uploads/2010/06/cmogle-3300374909_rectified_665.jpg" alt="" width="665" height="229" /></a></p>
<p><a href="http://www.flickr.com/photos/golanlevin/4746504995/"><img class="alignnone size-full wp-image-867" title="atomicshark-471686144_rectified_665" src="http://www.flong.com/blog/wp-content/uploads/2010/06/atomicshark-471686144_rectified_665.jpg" alt="" width="665" height="140" /></a></p>
<p><a href="http://www.flickr.com/photos/golanlevin/4747146148/"><img class="alignnone size-full wp-image-868" title="araswami-2672645631_rectified_665" src="http://www.flong.com/blog/wp-content/uploads/2010/06/araswami-2672645631_rectified_665.jpg" alt="" width="665" height="133" /></a></p>
<p>A complete set of about two dozen such panoramas can be seen in <a href="http://www.flickr.com/photos/golanlevin/sets/72157624387000146/with/4746504611/" target="_blank">this Flickr set</a>.</p>
<p>A modified version of the software &#8212; the <em>FlowerUnwarper</em> &#8212; was optimized for unwarping flower images, and is available <strong><a href="http://www.flong.com/blog/wp-content/uploads/2010/06/FlowerUnwarp.zip">here</a></strong> (including source code). The software is built in <a href="http://www.processing.org/" target="_blank">Processing</a> and uses the <a href="http://www.sojamo.de/libraries/controlP5/" target="_blank">ControlP5</a> library. All of the source photos used in this project were distributed with Creative Commons Attribution licenses. Our software is free in the <a href="http://creativecommons.org/publicdomain/" target="_blank">Public Domain</a> and our own re-processed images are released under the <a href="http://creativecommons.org/licenses/by-sa/3.0/" target="_blank">Creative Commons Attribution-ShareAlike 3.0 Unported</a> License.</p>
<p><strong>Update</strong> (July 10): The folks at NotCot have since used our software to create <a href="http://www.notcot.com/archives/2010/07/unwarping-chandeliers.php#more" target="_blank">these fascinating views of unwarped chandeliers</a>!</p>
<p><em><strong>Keywords:</strong> polar to cartesian, flowers, warping, unwarping, unwrapping, dewarping, rectification, inverse warping, correction, panorama, macro, macrophotography, Processing, surrealism, flower landscapes, petals, Processing,</em><em> Java,</em><em> free source code, free software, polar transformation of flowers.<br />
</em></p>
<p><script src="http://www.fffff.at/widgets/speed-project/speed-project.js" type="text/javascript"></script> <script type="text/javascript">// <![CDATA[
 if (FATLab_SpeedProject) {FATLab_SpeedProject.Values.Format='strip'; FATLab_SpeedProject.Values.TimeSpent=240; FATLab_SpeedProject.Make();}
// ]]&gt;</script></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/golanlevin?a=qGGrV9UvYO4:Tihl9_hdhYM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/golanlevin?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/golanlevin/~4/qGGrV9UvYO4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.flong.com/blog/2010/rectified-flowers/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		<feedburner:origLink>http://www.flong.com/blog/2010/rectified-flowers/</feedburner:origLink></item>
		<item>
		<title>Modding the Bloggie Panoramic Lens Accessory</title>
		<link>http://feedproxy.google.com/~r/golanlevin/~3/raSA6CWsidc/</link>
		<comments>http://www.flong.com/blog/2010/modding-the-bloggie-panoramic-lens-accessory/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 15:23:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[project]]></category>
		<category><![CDATA[bloggie]]></category>
		<category><![CDATA[catadioptric lens]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[mod]]></category>
		<category><![CDATA[modding]]></category>
		<category><![CDATA[modification]]></category>
		<category><![CDATA[optics]]></category>
		<category><![CDATA[panoramic imaging]]></category>
		<category><![CDATA[panoramic lens]]></category>
		<category><![CDATA[sony bloggie]]></category>

		<guid isPermaLink="false">http://www.flong.com/blog/?p=831</guid>
		<description><![CDATA[This post explains how to achieve full 1080p video with the Sony Bloggie&#8217;s 360-degree video accessory. It also illustrates some of the limitations you will encounter in doing so. In my previous blog post about panoramic imaging with the Bloggie, I complained about how the Bloggie automatically lowers its resolution from 1920&#215;1080 down to 1280&#215;720 [...]]]></description>
			<content:encoded><![CDATA[<p>This post explains how to achieve full 1080p video with the Sony Bloggie&#8217;s 360-degree video accessory. It also illustrates some of the limitations you will encounter in doing so.</p>
<p>In my <a href="http://www.flong.com/blog/2010/open-source-panoramic-video-bloggie-openframeworks-processing/" target="_self">previous blog post </a>about panoramic imaging with the Bloggie, I complained about how the Bloggie automatically lowers its resolution from 1920&#215;1080 down to 1280&#215;720 when the panoramic lens accessory is fitted onto the camera. Happily, Jan Martin from <a href="http://www.diy-streetview.org/" target="_blank">DIY-streetview.org</a> helpfully pointed me to <a href="http://panotoolsng.586017.n4.nabble.com/forum/PostLink.jtp?post=1469540" target="_blank">this short post by onezebra1</a> on the <a href="http://panotoolsng.586017.n4.nabble.com/sony-bloggie-mhs-pm5-request-for-reviews-td1100052.html" target="_blank">PanoTools discussion board</a>, which describes how to modify the accessory to support full-resolution video recording with the Bloggie. As we had suspected, the Bloggie uses a magnet to trip the resolution switch. Removing this magnet is easy, and produces the desired result &#8212; annular panoramic video at the device&#8217;s highest possible resolution &#8212; with some caveats.</p>
<p>Here&#8217;s the Bloggie&#8217;s panoramic lens accessory, Sony Part Number <a href="https://servicesplus.us.sony.biz/sony-part-number-X25467051.aspx" target="_blank">X25467051</a>, labeled VCL-BPP1 on its body. On the underside of the accessory are 4 very small cross-head screws (not pictured):</p>
<p><img class="alignnone size-full wp-image-832" title="IMG_4859_665" src="http://www.flong.com/blog/wp-content/uploads/2010/06/IMG_4859_665.jpg" alt="" width="665" height="339" /></p>
<p>Removing these four screws allows the optics to be separated from the mounting base. Once separated, you will find two small rare-earth magnets inset into the the inner (upper) surface of the base. These magnets (each about 3x4mm) can be extracted with a small flat screwdriver. The photo below shows the inner surface of the base. At the bottom right of the photo is the optics half of the assembly.</p>
<p><img class="alignnone size-full wp-image-833" title="IMG_4863_665" src="http://www.flong.com/blog/wp-content/uploads/2010/06/IMG_4863_665.jpg" alt="" width="665" height="460" /></p>
<p>It turns out that only the left magnet needs to be removed for the hack to work. I recommend doing this to preserve maximum flexibility for your optics.</p>
<p><img class="alignnone size-full wp-image-834" title="IMG_4866_665" src="http://www.flong.com/blog/wp-content/uploads/2010/06/IMG_4866_665.jpg" alt="" width="665" height="380" /></p>
<p>The optics are reassembled and fit onto the camera as before, and <em>voilà </em> &#8212; panoramic video at 1080p resolution on the Bloggie:</p>
<p><img class="alignnone size-full wp-image-835" title="IMG_4867_665" src="http://www.flong.com/blog/wp-content/uploads/2010/06/IMG_4867_665.jpg" alt="" width="665" height="599" /></p>
<p>There is, however, an important caveat. The panoramic donut is now truncated on the top and bottom, as you can see above. Here is a still frame from the 1920&#215;1080 video recorded in this way.</p>
<p><a href="http://www.flong.com/blog/wp-content/uploads/2010/06/bloggie_pano_1080p_original.jpg"><img title="bloggie_pano_1080p" src="http://www.flong.com/blog/wp-content/uploads/2010/06/bloggie_pano_1080p.jpg" alt="" width="665" height="374" /></a></p>
<p>For comparison, below is a still from a video recorded in 1280&#215;720 resolution; as you can see, the entire donut is visible. I had left one of the magnets installed, so I just flipped the same lens around to produce this. But it&#8217;s also possible to recover the Bloggie&#8217;s factory-standard 720p panoramic video behavior by selecting 1280&#215;720 resolution from its menu system.</p>
<p><img class="alignnone size-full wp-image-836" title="bloggie_pano_720p" src="http://www.flong.com/blog/wp-content/uploads/2010/06/bloggie_pano_720p.jpg" alt="" width="665" height="374" /></p>
<p>Using the 1080p-resolution annular videos with my <a href="http://www.flong.com/blog/2010/open-source-panoramic-video-bloggie-openframeworks-processing/" target="_self"><em>BloggieUnwarper</em> software</a> is straightforward. (The <em>MAXR_FACTOR</em> and <em>MINR_FACTOR</em> properties must be set to approximately 1.2648 and 0.3018, respectively.) Below is a screenshot, which shows how the truncated regions are interpreted by the rectification process. For what it&#8217;s worth, these missing regions account for 6.8% of the area of the unwarped panorama.</p>
<p><img class="alignnone size-full wp-image-843" title="bloggie_unwarper_bigpano" src="http://www.flong.com/blog/wp-content/uploads/2010/06/bloggie_unwarper_bigpano.jpg" alt="" width="665" height="303" /></p>
<p>By the way, it&#8217;s worth clarifying that the Bloggie&#8217;s <em>still images</em> remain unaffected by this modification; the operation described above only affects the camera&#8217;s <em>video recording</em> capabilities. Below is a panoramic <em>still</em> shot at the Bloggie&#8217;s highest resolution (2592&#215;1944). The annulus has the same dimensions as the 1920x1o80 video, but without the cropping. Both unmodified and modified optics will produce such still images on the Bloggie. The image quality is much clearer, probably because of a longer exposure time and different compression configurations.</p>
<p><a href="http://www.flong.com/blog/wp-content/uploads/2010/06/bloggie_pano_5mp_original.jpg"><img class="alignnone size-full wp-image-838" title="bloggie_pano_5mp" src="http://www.flong.com/blog/wp-content/uploads/2010/06/bloggie_pano_5mp.jpg" alt="" width="665" height="499" /></a></p>
<p>After making some more careful measurements, I&#8217;ve determined that the maximum vertical resolution obtainable from the Bloggie&#8217;s standard 1280&#215;720 video is ~261 pixels, while the maximum obtainable from the 1920&#215;1080 video is ~518 pixels. So it may be worth making the mod, if you can tolerate missing about 6.8% of your pixels in a couple of places. <em>[Photography: Kyle McDonald]</em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/golanlevin?a=raSA6CWsidc:EMYUpG61RFM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/golanlevin?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/golanlevin/~4/raSA6CWsidc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.flong.com/blog/2010/modding-the-bloggie-panoramic-lens-accessory/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://www.flong.com/blog/2010/modding-the-bloggie-panoramic-lens-accessory/</feedburner:origLink></item>
		<item>
		<title>Open-Source Panoramic Video: Bloggie + OpenFrameworks &amp; Processing</title>
		<link>http://feedproxy.google.com/~r/golanlevin/~3/y3ZUh1ErrWw/</link>
		<comments>http://www.flong.com/blog/2010/open-source-panoramic-video-bloggie-openframeworks-processing/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 05:04:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[360 degree]]></category>
		<category><![CDATA[bloggie]]></category>
		<category><![CDATA[catadioptric reflector]]></category>
		<category><![CDATA[dewarp]]></category>
		<category><![CDATA[dewarping]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[inverse warp]]></category>
		<category><![CDATA[inverse warping]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mac osx]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[openframeworks]]></category>
		<category><![CDATA[pano]]></category>
		<category><![CDATA[panorama]]></category>
		<category><![CDATA[panoramic video]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[rectilinearization]]></category>
		<category><![CDATA[reprojection]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[sony]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[unwarp]]></category>
		<category><![CDATA[unwarping]]></category>

		<guid isPermaLink="false">http://www.flong.com/blog/?p=691</guid>
		<description><![CDATA[I&#8217;m pleased to announce the release of free code and tools, created in openFrameworks and Processing, for unwarping the panoramic videos produced by the popular Sony Bloggie solid-state camera. The inexpensive Bloggie ($160-190), in many ways similar to the Flip, is a perfectly decent little pocket camera with one exceptionally notable feature: it allows for [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pleased to announce the release of free code and tools, created in <a href="http://www.openframeworks.cc/" target="_blank">openFrameworks</a> and <a href="http://www.processing.org/" target="_blank">Processing</a>, for unwarping the panoramic videos produced by the popular <a href="http://www.sonystyle.com/webapp/wcs/stores/servlet/ProductDisplay?productId=8198552921666078184" target="_blank">Sony Bloggie</a> solid-state camera. The inexpensive Bloggie ($160-190), in many ways similar to the Flip, is a perfectly decent little pocket camera with one exceptionally notable feature: <em>it allows for the creation of 360-degree panoramic digital video, at relatively high resolution, at a consumer price-point</em>. Here&#8217;s an example:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="665" height="374" 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=12684603&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="665" height="374" src="http://vimeo.com/moogaloop.swf?clip_id=12684603&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Obviously, this &#8220;donut vision&#8221; (annular) video needs to be transformed into something more useful, such as a long panoramic strip &#8212; a process variously called <em>unwarping</em>, <em>dewarping</em>,<em> inverse warping</em>, <em>remapping</em>, <em>reprojection</em>, <em>rectilinearization</em>, or simply <em>distortion correction</em>. Although Sony released unwarping software for Microsoft Windows, they &#8212; inexplicably &#8212; <strong><a href="http://www.wired.co.uk/reviews/cameras-and-camcorders/2010-02/22/sony-bloggie-%28mhs-pm5k%29-review" target="_blank">didn&#8217;t release Bloggie unwarping software for Mac OSX</a></strong>. Well, that&#8217;s problematic. Perhaps because panoramic imaging is considered a &#8220;niche&#8221; market, <a href="http://www.panoguide.com/products/">commercial tools for panoramic unwarping</a> can be quite pricey. And although Christophe Maillot has lately released <a href="http://mac.softpedia.com/get/Video/ThreeSixZero.shtml">ThreeSixZero</a>, a free OSX tool for <em>viewing</em> Bloggie panoramas, his project is not open-source and doesn&#8217;t <em>export</em> converted panoramic video! That&#8217;s the motivation for the releases presented here. Fortunately, the <a href="http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/imagewarp/" target="_blank">mathematics</a> for polar-to-cartesian geometry conversion are relatively straightforward. Behold, a 360-degree panoramic video, remapped to a rectilinear perspective with our <em>BloggieUnwarper</em> software:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="665" height="133" 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=12590327&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="665" height="133" src="http://vimeo.com/moogaloop.swf?clip_id=12590327&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h2>Projects and Source Code</h2>
<p>Below are links to <em>BloggieUnwarper</em>, my open-source code projects for unwarping the panoramic videos produced by the Sony Bloggie. These projects are created in <a href="http://www.openframeworks.cc/" target="_blank">openFrameworks</a> (a C++ library for creative coding) and <a href="http://www.processing.org/" target="_blank">Processing</a> (a Java-based programming environment for          people who want to create images, animations, and interactions). Both OpenFrameworks and Processing are free, open-source, cross-platform toolkits, optimized for visual computing, which take most of the headache out of creating graphically-oriented software. Both programming environments work across multiple operating systems (Mac, Windows, and Linux), and multiple compilers (e.g., openFrameworks compiles in XCode, Visual Studio, Code::Blocks, and more). If you&#8217;re interested in interactive art or computational design, these environments are a great way to start making projects fast.</p>
<p>Here&#8217;s a screenshot of the openFrameworks <em>BloggieUnwarper</em> software, showing the original (annular) video at upper left; the reprojected panoramic strip at the bottom; and (in the upper right) a view of the panorama from within a texture-mapped 3D cylinder:</p>
<p><a href="http://www.flong.com/blog/wp-content/uploads/2010/06/bloggie_unwarp_1280px.jpg" target="_blank"><img title="BloggieUnwarp by Golan Levin" src="http://www.flong.com/blog/wp-content/uploads/2010/06/bloggie_unwarp_665px.jpg" border="0" alt="" width="665" height="305" /></a></p>
<p><em><span style="color: #ff0000;">Complete source code can be found here:</span></em></p>
<ul>
<li><strong><a href="http://www.flong.com/blog/wp-content/uploads/2010/06/BloggieStillUnwarp.zip">BloggieStillUnwarp.zip</a></strong> (for Processing; 1.3Mb <a href="http://www.flong.com/blog/wp-content/uploads/2010/06/BloggieStillUnwarp.zip">download</a>) &#8212; This is a single-page <a href="http://www.processing.org/" target="_blank">Processing</a> sketch which performs inverse warping on a single panoramic still image stored in the sketch&#8217;s <em>data</em> folder. The program supports both nearest-neighbor and bicubic interpolation, and can save out the unwarped panorama to disk. To get started, download the Processing environment <a href="http://www.processing.org/download/" target="_blank">here</a>; unzip this project into your &#8220;Sketchbook&#8221; folder (in &#8220;Documents&#8221;); open the sketch in the Processing development environment, and press <em>play</em>.</li>
<li><strong><a href="http://www.flong.com/blog/wp-content/uploads/2010/06/BloggieVideoUnwarp.zip">BloggieVideoUnwarp.zip</a></strong> (for Processing; 20.2Mb <a href="http://www.flong.com/blog/wp-content/uploads/2010/06/BloggieVideoUnwarp.zip">download</a>) &#8211;This is a single-page <a href="http://www.processing.org/" target="_blank">Processing</a> sketch which unwarps a Quicktime video stored in the sketch&#8217;s <em>data</em> folder, and exports an unwarped version of the video &#8212; either as a new Quicktime movie, or as a folder full of still images. Parameters for the unwarping (such as the optic center) are loaded from a settings file. The audio from the original file is (regrettably) not maintained; see my notes below about audio. (Please note that the bulk of this download is a 20Mb demonstration video.)</li>
<li><strong><a href="http://www.flong.com/blog/wp-content/uploads/2010/06/BloggieUnwarpOF.zip">BloggieUnwarpOF.zip</a></strong> (for OSX &amp; openFrameworks, 52.7Mb <a href="http://www.flong.com/blog/wp-content/uploads/2010/06/BloggieUnwarpOF.zip">download</a>) &#8212; This is a complete <a href="http://www.openframeworks.cc/" target="_blank">openFrameworks</a> project for viewing, projecting, dewarping, and exporting panoramic videos shot with a catadioptric reflector like the Sony Bloggie&#8217;s. This project is built for Mac OSX 10.6.3, using XCode, and <a href="http://www.openframeworks.cc/download" target="_blank">openFrameworks v.0.061</a>, which is available <a href="http://www.openframeworks.cc/versions/preRelease_v0.061/of_preRelease_v0061_osxSL_FAT.zip" target="_blank">here</a>; be sure to download the FAT version. The project makes use of the <em>ofxOpenCv</em> and <em>ofxXmlSettings</em> <a href="http://www.openframeworks.cc/addons" target="_blank">addons</a> which are included in the download. To avoid compilation errors, install the project at the same hierarchical directory level as the various &#8220;example&#8221; apps which come with the FAT download. There is some additional information about getting OF set up on Snow Leopard <a href="http://www.openframeworks.cc/forum/viewtopic.php?f=4&amp;t=2749&amp;p=14925" target="_blank">here</a>. This project is available two ways:
<ul>
<li><em>as a project on Github</em>: <a href="http://github.com/golanlevin/BloggieUnwarp" target="_blank">http://github.com/golanlevin/BloggieUnwarp</a><em>, or</em></li>
<li><em>download BloggieUnwarp for OSX </em><a href="http://www.flong.com/blog/wp-content/uploads/2010/06/BloggieUnwarpOF.zip">here</a> <em>(52.7MB) as a zip file.</em></li>
</ul>
</li>
</ul>
<hr />
<h2>More About the BloggieUnwarper</h2>
<p>Here&#8217;s some more information about panoramic video on the Sony Bloggie, our app, and its implementation.</p>
<p><img class="alignnone size-full wp-image-699" title="Sony Bloggie MHS-PM5" src="http://www.flong.com/blog/wp-content/uploads/2010/06/bloggie_mhspm5_665px.jpg" alt="" width="665" height="242" /></p>
<p><strong>Sourcing the Bloggie and its Panoramic Lens Attachment.</strong><br />
The <a href="http://www.sonystyle.com/webapp/wcs/stores/servlet/ProductDisplay?productId=8198552921666078184" target="_blank">Sony Bloggie MHS-PM5K</a> (about $160-180) comes  with an included 360-degree panoramic lens attachment. You may hear this  accessory erroneously referred to as a &#8220;<a href="http://en.wikipedia.org/wiki/Fisheye_lens" target="_blank">fisheye lens</a>&#8220;, but it&#8217;s    actually a hyperbolic or parabolic mirror (with an optical path folded by a flat mirror, as it turns out) known as a <a href="http://www.cs.columbia.edu/CAVE/projects/cat_cam_360/" target="_blank">catadioptric reflector</a>. This panoramic lens attachment, which easily clips on and off the body of the camera, is the black piece shown above. The attachment is Sony Part Number <a href="https://servicesplus.us.sony.biz/sony-part-number-X25467051.aspx" target="_blank">X25467051</a>, a &#8220;360 VIDEO ACCESSORY&#8221;, labeled <a href="http://www.flong.com/blog/wp-content/uploads/2010/06/vcl-bpp1-665px.jpg" target="_blank">VCL-BPP1</a> on its body. <em>The attachment really does come with the camera!</em> But as an isolated component, this accessory is also available <a href="https://servicesplus.us.sony.biz/sony-part-number-X25467051.aspx">here</a> through <a href="http://servicesales.sel.sony.com" target="_blank">Sony&#8217;s services site</a> (Tel. 1-800-488-7669) for $82.95 USD. Now given that this is, like, <em>a $5 piece of plastic,</em> this is still a minor bummer, <em>but oh well</em>: competing mirror-based optics for one-shot 360-degree imaging, like the <a href="http://www.jbc-group.com/lens/" target="_blank">Palnon parabolic C-mount panoramic lenses from JBC</a>, the <a href="http://www.kaidan.com/" target="_blank">Go Pano from EyeSee360</a>, the <a href="http://remotereality.com/products-topmenu-115" target="_blank">OmniAlert360 from RemoteReality</a>, the <a href="http://pentaone.co.kr/eng/product/product01.php" target="_blank">PentaOne P360</a> series ($~1000), the <a href="http://www.eggsolution.com/new/product/egglens.html" target="_blank">EggSolution EGG Lens</a> (~$2000), or the <a href="http://www.0-360.com/" target="_blank">0-360 Panoramic Optic</a> ($495), can cost hundreds or even thousands of dollars; there&#8217;s simply nothing else quite like the Bloggie at the low end. In any case, it&#8217;s worth pointing out that you can  duct-tape this Sony pano accessory onto just about any micro-format camera if your application demands a different hardware scenario. I   made <a href="http://www.flong.com/blog/wp-content/uploads/2010/06/bloggie-panoramic-lens-on-isight-camera.jpg" target="_blank">relatively decent panoramic images</a> by simply holding it in front of the cameras on my laptop and my mobile phone, and I also had good luck affixing the mirror module onto standard <a href="http://www.edmundoptics.com/onlinecatalog/displayproduct.cfm?productid=1546" target="_blank">12mm &#8220;micro-video&#8221; lenses</a> such as those used in many web-cams. If you&#8217;re interested in doing something low-budget like <a href="http://www.diy-streetview.org/" target="_blank">DIY-Streetview</a>, the Bloggie and/or this lens attachment is the camera for you.</p>
<p><strong>Limits on the Resolution of Resulting Panoramas.</strong><br />
The Sony Bloggie is capable of recording <em>non-panoramic</em> HD video at resolutions up to 1920&#215;1080 (30fps). Unfortunately (and this isn&#8217;t well-advertised), the Bloggie only records <em>panoramic</em> digital video at 1280&#215;720. In video mode, the camera auto-detects the panoramic lens attachment (<a href="http://en.wikipedia.org/wiki/Hall_effect_sensor" target="_blank">magnetically</a>, it turns out) and switches to the lower resolution. Moreover, by the time the unwarping process has removed the wasted black pixels (inside and around the warped video annulus), it becomes clear that the maximum effective vertical resolution of the Bloggie&#8217;s panoramic video is only about 256 pixels, which may or may not suit your purposes. Used in <em>still-picture</em> mode, the Bloggie is able to create panoramic source images with its full (5 megapixel, 2592&#215;1944) resolution; the effective vertical resolution of its panoramic stills is then 512 pixels. Since the Bloggie lens accessory   has a vertical FOV of approximately 54.5 degrees (according to our measurements; <a href="http://panotoolsng.586017.n4.nabble.com/SONY-Bloggie-360-video-camera-td1009232.html" target="_blank">others</a> have measured the vertical field of view at 52.5°), panoramas produced with these optics should have aspect ratios close to (360/54.5) ≈ 6.6:1. For panoramas produced with the BloggieUnwarper, I therefore recommend dimensions like 1280&#215;196, 1680&#215;256, or (for 5MP stills) 3360&#215;512. (Note that the Bloggie has a 1/2.5” CMOS imaging sensor and F3.6 optics. This means: expect relatively poor low-light performance, and some very exotic rolling-shutter artifacts on fast-moving subjects after your source video is unwarped.) <span style="color: #ff0000;"><em><strong>Update</strong></em></span>: in a new blog post, &#8220;<a href="http://www.flong.com/blog/2010/modding-the-bloggie-panoramic-lens-accessory/" target="_blank">Modding the Bloggie Panoramic Lens Accessory</a>&#8220;, I detail a simple modification to the Bloggie accessory which enables 1920&#215;1080 panoramic video recording.</p>
<p><strong>An Opportunity for Real-Time Panoramic Video</strong><br />
The <em>BloggieUnwarper</em> software can compute unwarped panoramas in real-time or faster. And happily, the Bloggie camera can also produce real-time panoramic video, through its analog NTSC/PAL  composite video output, using the proprietary <a href="http://www.sonystyle.com/webapp/wcs/stores/servlet/ProductDisplay?productId=11040609" target="_blank">Sony HandyCam Audio/Video Cable</a> (VMC-15FS A/V) which comes with the camera. This interlaced analog video signal produced by the Bloggie is then suitable for 720&#215;480 capture via standard analog capture cards such as the <a href="http://www.google.com/products?q=Pinnacle+video+capture" target="_blank">Dazzle</a>. <em>An opportunity thus exists for (e.g.) interactive computer-vision based applications that use 360-degree sensing</em>. To be perfectly clear, the Bloggie does not support use as a real-time <em>USB</em> webcam; you&#8217;ll need to run its analog video output through a capture card (or fit the Bloggie lens attachment onto some other camera) if you intend to build apps that incorporate real-time panoramic video.</p>
<p>The code projects provided here are configured for unwarping Bloggie videos stored on disk &#8212; but modifying these apps to use real-time video is straightforward; you&#8217;ll simply need to swap out the source of input pixels  from the pre-stored video to the live video input:</p>
<ul>
<li>If you&#8217;re working in <a href="http://www.openframeworks.cc/" target="_blank">openFrameworks</a>, integrate the <a href="http://www.openframeworks.cc/documentation?detail=ofVideoGrabber" target="_blank">ofVideoGrabber</a> class into the project, as demonstrated by the <em>movieGrabberExample</em> example included in the FAT download, to understand how to access the live video stream and its pixels.</li>
<li>For <a href="http://www.processing.org/" target="_blank">Processing</a>, on the other hand, integrate the <a href="http://www.processing.org/reference/libraries/video/Capture.html" target="_blank">Capture</a> class within the <a href="http://www.processing.org/reference/libraries/video/index.html" target="_blank">Video</a> library, taking a careful look at the included <em>GettingStartedCapture</em> and <em>Mirror</em> examples to understand how to access the live video and its pixels.</li>
</ul>
<p><strong>Special Considerations, Features, and Known Bugs</strong><br />
Unwarping panoramic video from the Bloggie has a few special considerations, mentioned here.</p>
<ul>
<li><strong><em>Handling Inexact Centering of the Panoramic Optics.</em></strong><br />
Sad to say, the Bloggie&#8217;s removable panoramic attachment is a wee <em>jiggly</em>. As a result, it&#8217;s unwise to assume that the optical center of the video donut is located precisely at the location [<em>width/2, height/2</em>]; indeed, the optical center has a movement range of approximately ±2% of the image dimensions. This has significant implications for an unwarping tool; even small differences  of a quarter pixel can cause an undesirable sinusoidal &#8220;wobble&#8221; that runs the length of the panorama. The apps provided here allow for the user to adjust, set and save the center point of the video annulus, with sub-pixel accuracy.</li>
<li><strong><em>Handling Corrections for Radial/Vertical Nonlinearity</em></strong><br />
If the Bloggie had a &#8216;perfect&#8217; catadioptric mirror, there would be no vertical distortion in the unwarped panoramas. Unfortunately, our careful measurements of rectilinear grids photographed with the Bloggie&#8217;s panoramic lens attachment proved otherwise; we discovered a minor nonlinear distortion in the radial/vertical dimension of the Bloggie lens. We also discovered that the Bloggie panoramic lens has an asymmetrical vertical field of view, with approximately 80% of the image falling above the horizon, and 20% below. Taking both perspectival distortion and the Bloggie&#8217;s off-center vertical optics into account, we computed this distortion, modeled it with a 2nd-order polynomial, and have corrected for this in our unwarping procedure. You&#8217;ll need to recalculate these fitting parameters if you wish to use this software with a different catadioptric mirror.</li>
<li><strong><em>Providing Azimuthal/Horizontal Shifting</em></strong><br />
When unwarping an annular video to a horizontal panoramic strip, the placement of the &#8220;zero angle&#8221; becomes an important artistic choice. Modifying this angle has the effect of determining the horizontal placement of objects in the scene. <em>BloggieUnwarper</em> allows for user-determined shifting of this kind.</li>
<li><strong><em>Bugs with Preserving Source Audio</em></strong><br />
As of this writing, <em>BloggieUnwarper</em> doesn&#8217;t handle audio nearly as well as I would like. The Processing version does not preserve the source audio at all; if you want to keep it, you&#8217;ll need to use a tool like FinalCut or AfterEffects to recombine the original source audio with the corrected panorama video. The openFrameworks version is a little more strange. It currently produces &#8220;non-standard&#8221; videos, which contain the original audio alongside the unwarped video, and are playable in Quicktime7+ on the Mac, but which fail to play in Windows, and are rejected by Vimeo for unspecified incompatibilities. I have successfully circumvented this by  re-compressing the results using Quicktime and/or <a href="http://www.squared5.com/" target="_blank">MPEG Streamclip</a>.</li>
</ul>
<p><strong>A brief note about speed and library dependencies. </strong><br />
To accomplish fast (better than real-time) inverse warping, we compared four methods: a well-optimized, hand-coded inverse lookup table; the <em>cvRemap()</em> function available within the free <a href="http://opencv.willowgarage.com/wiki/" target="_blank">OpenCV</a> library; the <em>fwiRemap()</em> function in AMD&#8217;s free <a href="http://sourceforge.net/projects/framewave/" target="_blank">FrameWave</a> signal processing library; and the <em>ippiRemap()</em> function from the commercial Intel Performance Primitives (<a href="http://software.intel.com/en-us/intel-ipp/" target="_blank">IPP</a>) 6.0 libraries. That&#8217;s right &#8212; we had a shootout. All of our implementations were coded for 3-channel (RGB) images, and for each method we tested both Nearest Neighbor and Bicubic interpolation methods. We set compiler optimizations to level -O3 in XCode and compiled for 10.6|Release. Under these conditions, the quick summary of the libraries&#8217; relative performance was as follows:</p>
<ul>
<li>IPP <em>ippiRemap</em>: 1 time unit</li>
<li>OpenCV <em>cvRemap</em>: 2 time units</li>
<li>Framewave <em>fwiRemap</em>: 4 time units</li>
<li>Hand-coded version: 2.5-10 time units, depending on the extent of optimization</li>
</ul>
<p>In other words: IPP was the fastest; OpenCV was twice as slow as IPP; Framewave was four times as slow; and (short of getting all medieval with assembly code), my own best hand-coded algorithm was about 25% slower than OpenCV. Based on the above shootout, we elected to use OpenCV with our openFrameworks build (see the <a href="http://www.openframeworks.cc/forum/viewtopic.php?f=10&amp;t=1967" target="_blank">ofxOpenCV</a> addon example, which comes with the download), and a hand-coded unwarping algorithm for the Processing version. Researchers who are serious about speed may wish to consider the (non-free, non-open-source) IPP libraries. As an aside, OpenCV is documented as being able to &#8220;<a href="http://opencv.willowgarage.com/wiki/faq#DoesOpenCVstillworkwiththeoptimizedIntelIPPlibraries.3F" target="_blank">take advantage of IPP if it is available</a>&#8220;, but this feature of OpenCV is being phased out.</p>
<p><strong>Acknowledgments</strong><br />
<a href="http://ivanpoupyrev.com/" target="_blank">Ivan Poupyrev</a> first alerted me to the existence of the Sony Bloggie. <a href="http://biskerrific.com/" target="_blank">Solomon Bisker</a> helped port my original Processing sketch to openFrameworks, and also set up the four-way shootout between IPP, Framewave, OpenCV, and my hand-coded algorithms. <a href="http://amishagadani.com/" target="_blank">Amisha Gadani</a> tracked down purchasing details for the <a href="https://servicesplus.us.sony.biz/sony-part-number-X25467051.aspx" target="_blank">X25467051</a> lens accessory. <a href="http://kylemcdonald.net/" target="_blank">Kyle McDonald</a> patiently walked me through learning Git, and collaborated in many stimulating discussions and experimentation related to low-cost panoramic video. This (side-)project was supported by the <a href="http://www.cmu.edu/studio/" target="_blank">STUDIO for Creative Inquiry</a> at Carnegie Mellon University, with the help of grants from the <a href="http://www.ffccapital.net/team_Milton_Fine.php" target="_blank">Fine Foundation</a> and the <a href="http://www.nea.gov/" target="_blank">National Endowment for the Arts</a>. This project has been featured at <a href="http://hackaday.com/2010/06/24/unwrapping-360-degree-video/" target="_blank">Hack-a-Day</a>.</p>
<p><strong>Keywords</strong><br />
<em>Golan Levin, Flong, Processing, openFrameworks, #Processing, #openFrameworks, Sony Bloggie camera, </em><em>360</em>°<em> video, </em><em>360-degree pano, panoramic video, catadioptric reflector, hyperbolic reflector, parabolic mirror, unwarp, dewarp, inverse warp, remap, reprojection, rectilinearization,</em> <em>distortion correction, free open-source code, Java, C++, software, free video tools, optics, lens, attachment, one-shot panoramic imaging, </em><em>download, </em><em>Bloggie software for Mac OSX, free Bloggie for MaxOS X, </em><em>Mac OS X. </em></p>
<p><strong>References</strong><br />
&#8220;<a href="http://www.cs.columbia.edu/CAVE/projects/cat_cam_360/" target="_blank">A Theory of Single-Viewpoint Catadioptric Image Formation</a>&#8220;, S.  Baker and S.K. Nayar. <em>International Journal on Computer Vision</em>, Vol.35,  No.2, pp.175-196, Nov, 1999. [<a href="http://www1.cs.columbia.edu/CAVE/publications/pdfs/Baker_IJCV99.pdf" target="new">PDF</a>]</p>
<p>&#8220;<a href="http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/imagewarp/" target="_blank">Image Warping / Distortion</a>&#8220;, P. Bourke. <em><a href="http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/imagewarp/" target="_blank">http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/imagewarp/</a></em>, Dec. 2002.</p>
<p><strong>Licence </strong><br />
<!-- Creative Commons License -->This software is licensed under the <a href="http://creativecommons.org/licenses/LGPL/2.1/">CC-GNU LGPL</a> version 2.1 or later.<br />
<a href="http://creativecommons.org/licenses/LGPL/2.1/"><img src="http://creativecommons.org/images/public/cc-LGPL-a.png" border="0" alt="CC-GNU LGPL" /><br />
</a><br />
<!-- /Creative Commons License --></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/golanlevin?a=y3ZUh1ErrWw:LlQe4rCUX9E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/golanlevin?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/golanlevin/~4/y3ZUh1ErrWw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.flong.com/blog/2010/open-source-panoramic-video-bloggie-openframeworks-processing/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<feedburner:origLink>http://www.flong.com/blog/2010/open-source-panoramic-video-bloggie-openframeworks-processing/</feedburner:origLink></item>
		<item>
		<title>TykeType! a free, open-source application for toddler typing</title>
		<link>http://feedproxy.google.com/~r/golanlevin/~3/sVzTgeK8BpU/</link>
		<comments>http://www.flong.com/blog/2010/tyketype-a-free-open-source-application-for-toddler-typing/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 00:18:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[openframeworks]]></category>
		<category><![CDATA[todder typing game]]></category>
		<category><![CDATA[typing]]></category>

		<guid isPermaLink="false">http://www.flong.com/blog/?p=679</guid>
		<description><![CDATA[TykeType! is a free, open-source application I created for my toddler to type at the computer keyboard. The app is very minimal, though it does have a few features (like automatically separating numbers from letters) that make reading text aloud easier. You can see a quick demonstration video below. TykeType! is built for Mac OSX [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-680" title="TykeType!" src="http://www.flong.com/blog/wp-content/uploads/2010/06/tyketype.jpg" alt="TykeType! A free application for toddler typing" width="665" height="480" /></p>
<p><strong>TykeType!</strong> is a free, open-source application I created for my toddler to type at the computer keyboard. The app is very minimal, though it does have a few features (like automatically separating numbers from letters) that make reading text aloud easier. You can see a quick demonstration <a href="http://www.vimeo.com/12539364" target="_blank">video</a> below.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="665" height="530" 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=12539364&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="665" height="530" src="http://vimeo.com/moogaloop.swf?clip_id=12539364&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>TykeType! is built for Mac OSX and uses <a href="http://www.openframeworks.cc/" target="_blank">openFrameworks</a>, an open-source toolkit for creative coding. You&#8217;re invited to <strong><a href="http://www.flong.com/blog/wp-content/uploads/2010/06/tyketype.zip">download</a></strong> the application (and all source code) <strong><a href="http://www.flong.com/blog/wp-content/uploads/2010/06/tyketype.zip">here</a></strong>. The software and code are free for non-commercial purposes, and are provided without any support.</p>
<p><a rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/"><img style="border-width: 0;" src="http://i.creativecommons.org/l/by-nc/3.0/88x31.png" alt="Creative Commons License" /></a><br />
<span>TykeType!</span> by <a rel="cc:attributionURL" href="www.flong.com">Golan Levin</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/">Creative Commons Attribution-Noncommercial 3.0 Unported License</a>. <strong>Keywords</strong>:<em> children&#8217;s software, software for children, free toddler  typing game, free typing program for kids, toddler typing software,  pressing keys, pushing buttons, keyboarding, introductory keyboard  skills, basic reading skills, keyboard interaction, typing software,  computer keyboard play.</em> Also see related software: <em>TykeWriter</em>, <em>ToddlerType</em>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/golanlevin?a=sVzTgeK8BpU:Femu0A1lr-s:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/golanlevin?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/golanlevin/~4/sVzTgeK8BpU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.flong.com/blog/2010/tyketype-a-free-open-source-application-for-toddler-typing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.flong.com/blog/2010/tyketype-a-free-open-source-application-for-toddler-typing/</feedburner:origLink></item>
		<item>
		<title>A Brief Note on Infrared Filters: 87 vs 87C</title>
		<link>http://feedproxy.google.com/~r/golanlevin/~3/0u_-ZhiVheg/</link>
		<comments>http://www.flong.com/blog/2010/a-brief-note-on-infrared-filters-87-vs-87c/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 07:16:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[reference]]></category>
		<category><![CDATA[computer vision]]></category>
		<category><![CDATA[infrared]]></category>

		<guid isPermaLink="false">http://www.flong.com/blog/?p=671</guid>
		<description><![CDATA[Many computer vision projects require a camera which blocks visible light and exclusively sees infrared light. Unless you have money to spend on optical glass units, such filters generally take the form of a thin sliver of black gelatine or polyester sheet, inserted between your camera&#8217;s sensor chip and your lens. Representative products include the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-673" title="87vs87c" src="http://www.flong.com/blog/wp-content/uploads/2010/06/87vs87c1.jpg" alt="" width="665" height="425" /></p>
<p>Many computer vision projects require a camera which blocks visible light and exclusively sees infrared light. Unless you have money to spend on optical glass units, such filters generally take the form of a thin sliver of black gelatine or polyester sheet, inserted between your camera&#8217;s sensor chip and your lens. Representative products include the <a href="http://www.bhphotovideo.com/c/search?Ntt=Wratten+87&amp;N=0" target="_blank">Kodak Wratten series</a> (about $0.80 per square cm), and the <a href="http://www.bhphotovideo.com/c/search?Ntt=Lee+87&amp;N=0" target="_blank">Lee filter series</a> (~$0.25 per square cm). These filters each have several varieties with different spectral properties: Type<strong> 87</strong> passes IR longer than 750 nanometers, while type <strong>87C</strong> passes IR light longer than 800nm. In the photo above, I&#8217;m holding a sample of each of these filters. (The camera can see through these, but they&#8217;re both optically black to humans.) Here you can see the filters&#8217; spectral responses:</p>
<p><img class="alignnone size-full wp-image-674" title="ir-filter-responses" src="http://www.flong.com/blog/wp-content/uploads/2010/06/ir-filter-responses.gif" alt="" width="400" height="270" /></p>
<p>Meanwhile, most CCD sensors have spectral responses which taper off in the infrared regions above ~700nm:</p>
<p><img class="alignnone size-full wp-image-675" title="ccd-spectral-response" src="http://www.flong.com/blog/wp-content/uploads/2010/06/ccd-spectral-response.gif" alt="" width="400" height="241" /></p>
<p>Thus, the photo at the top of this post confirms what you would logically expect: as the sensitivity of the CCD diminishes for longer wavelengths of IR light, IR-pass filters with higher cutoff frequencies will allow less and less light through to the camera. How much less? To judge from my casual test, I&#8217;d say about 10%, 25 grayscale levels, or roughly ½ of an F-stop. No big surprises here, but it&#8217;s nice to see the theory confirmed. The quick upshot: <em>Choose an 87 filter over an 87C if you need to get the most out of your infrared illumination. </em></p>
<p>For more information about IR imaging, I recommend the resources:</p>
<ul>
<li><a href="http://www.mat.uc.pt/~rps/photos/FAQ_IR.html" target="_blank">The Infra-Red Photography FAQ</a></li>
<li> <a href="http://members.misty.com/don/irfilter.html" target="_blank">Don Klipstein&#8217;s page</a>.</li>
<li><a href="http://www.dpfwiw.com/ir.htm#87x" target="_blank">Infrared basics for digital photographers</a></li>
<li> <a href="http://msp.rmit.edu.au/Article_03/02c.html " target="_blank">Reflected infrared photography: Filters</a></li>
<li><a href="http://www.wrotniak.net/photo/infrared/" target="_blank">Infrared Photography with a Digital Camera</a></li>
</ul>
<p><em>(Please note that this article refers to cameras and filters for &#8220;near IR&#8221; [close to  red, with wavelengths around 700-900 nanometers], not the &#8220;deep IR&#8221;  thermal-imaging cameras [sensitive to wavelengths in the 7-14 µm range],  such as those made by <a href="http://www.flir.com/US/" target="_blank">FLIR</a>.)</em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/golanlevin?a=0u_-ZhiVheg:UO3fXBM6Olo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/golanlevin?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/golanlevin/~4/0u_-ZhiVheg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.flong.com/blog/2010/a-brief-note-on-infrared-filters-87-vs-87c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.flong.com/blog/2010/a-brief-note-on-infrared-filters-87-vs-87c/</feedburner:origLink></item>
		<item>
		<title>Computational Gastronomy</title>
		<link>http://feedproxy.google.com/~r/golanlevin/~3/xRQVuFZHQWk/</link>
		<comments>http://www.flong.com/blog/2010/computational-gastronomy/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 08:02:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[computation]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[recipe]]></category>

		<guid isPermaLink="false">http://www.flong.com/blog/?p=644</guid>
		<description><![CDATA[It can be a rewarding and entertaining exercise to think through the implications of prepending &#8220;computational&#8221; to various subjects of consideration &#8212; particularly those fields traditionally considered &#8220;outside&#8221; the purview of procedural science, like the arts and humanities. (As communications technologies inexorably revolutionize every aspect of contemporary life, such a gedankenexperiment is merely a reasonable [...]]]></description>
			<content:encoded><![CDATA[<p>It can be a rewarding and entertaining exercise to think through the implications of prepending &#8220;computational&#8221; to various subjects of consideration &#8212; particularly those fields traditionally considered &#8220;outside&#8221; the purview of procedural science, like the arts and humanities. (As communications technologies inexorably revolutionize every aspect of contemporary life, such a <a href="http://en.wikipedia.org/wiki/Thought_experiment#Origins_and_use_of_the_literal_term_.22thought_experiment.22" target="_blank"><em>gedankenexperiment</em></a> is merely a reasonable strategy for planning for the very near future.) A recent conversation with my friend <a href="http://twitter.com/joshu" target="_blank">Joshua</a> got me wondering about a new one, &#8220;computational gastronomy&#8221;, and reminded me that we would do well to consider computation in combination with the messiest possible subjects, like sexuality, spirituality and psychology. My initial research on computational gastronomy turned up relatively little (just a <a href="www.silo.net/ReferenceMaterials/LeonAlado_en.rtf" target="_blank">passing mention</a> in a short story and <a href="http://twitter.com/Kimtaro/status/9045072142" target="_blank">a brief tweet from February</a>) so I thought it could be helpful to assemble some preliminary proceedings for a virtual congress on this hot new topic. Here, then, I tender an index to some (very real) overviews and articles in emerging sub-concentrations of the field. Some of the titles are genuinely mind-bending, suggesting even stranger things to come:</p>
<ul>
<li><a href="http://www.murase.nuie.nagoya-u.ac.jp/~ide/res/paper/E09-article-sano-1pub.pdf" target="_blank">Overview of the ACM multimedia 2009 workshop on multimedia for cooking and eating activities</a> (CEA&#8217;09)</li>
</ul>
<p><em>Computation and Agriculture:</em></p>
<ul>
<li><a href="http://www.emeraldinsight.com/Insight/viewContentItem.do?contentType=Article&amp;hdAction=lnkhtml&amp;contentId=875285" target="_blank">Robotic manipulation of food products – a review</a> (P.Y. Chua)</li>
<li><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&amp;_udi=B6T8J-4V0MJ17-1&amp;_user=10&amp;_coverDate=05%2F31%2F2009&amp;_rdoc=1&amp;_fmt=high&amp;_orig=search&amp;_sort=d&amp;_docanchor=&amp;view=c&amp;_searchStrId=1356119941&amp;_rerunOrigin=scholar.google&amp;_acct=C000050221&amp;_version=1&amp;_urlVersion=0&amp;_userid=10&amp;md5=4311632936f705b832ad6f85c964c706" target="_blank">Non-destructive  technologies for fruit and vegetable  size determination &#8211; A review</a> (G.P. Moreda)</li>
<li> <a href="http://www.sciencedirect.com/science?_ob=ArticleURL&amp;_udi=B6T5M-46YXKP5-1&amp;_user=10&amp;_coverDate=11%2F30%2F2002&amp;_rdoc=1&amp;_fmt=high&amp;_orig=search&amp;_sort=d&amp;_docanchor=&amp;view=c&amp;_rerunOrigin=scholar.google&amp;_acct=C000050221&amp;_version=1&amp;_urlVersion=0&amp;_userid=10&amp;md5=02f8a6bde31169bd25ca82a7e39a6490" target="_blank">Inspection and grading of agricultural and food  products by computer vision systems—a review</a> (T. Brosnan)</li>
<li><a href="http://linkinghub.elsevier.com/retrieve/pii/S0260877404005904" target="_blank">Learning techniques used in computer vision for food  quality evaluation: a review</a> (C-J Du)</li>
</ul>
<p><em>Recipes and Planning:</em></p>
<ul>
<li><a href="http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=3153" target="_blank">Ontology-based semantic querying of the web with  respect to food recipes</a> (L. Gutiérrez Villarías)</li>
<li><a href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=3&amp;ved=0CCsQFjAC&amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.96.150%26rep%3Drep1%26type%3Dpdf&amp;rct=j&amp;q=Social+navigation+of+food+recipes&amp;ei=y_QFTMTvO8Lflgf8uKWECw&amp;usg=AFQjCNGXkEYr1Uwv3sTB7uWhDQ-0NTnYSw" target="_blank">Social navigation of food recipes</a> (M. Svensson et  al.)</li>
</ul>
<p><em>Computation and Food Preparation Technologies:</em></p>
<ul>
<li><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&amp;_udi=B6TCW-48XCHCX-3&amp;_user=10&amp;_coverDate=08%2F31%2F2003&amp;_rdoc=1&amp;_fmt=high&amp;_orig=search&amp;_sort=d&amp;_docanchor=&amp;view=c&amp;_searchStrId=1356172824&amp;_rerunOrigin=scholar.google&amp;_acct=C000050221&amp;_version=1&amp;_urlVersion=0&amp;_userid=10&amp;md5=d14eaa95ca7546e259a09bd5ddfdf485" target="_blank"><em>Star Trek</em> replicators and diatom nanotechnology</a> (R. Drum et al.)</li>
<li><a href="http://md1.csa.com/partners/viewrecord.php?requester=gs&amp;collection=TRD&amp;recid=0062800EN&amp;q=&amp;uid=789520412&amp;setcookie=yes" target="_blank">Computational simulation of kitchen airflows with  commercial hoods</a> (R.M. Kelso et al.)</li>
<li><a href="http://link.aip.org/link/?AJPIAS/73/635/1" target="_blank">Increasing  rate of water temperature due to an Ekman layer flow in a heated pot  (fluid dynamics in the kitchen)</a> (K. Ida et al.)</li>
</ul>
<p><em>Analysis of Eating Behavior:</em></p>
<ul>
<li><a href="http://www.cs.cmu.edu/~wenwu/publications/icme09-food.pdf" target="_blank">Fast Food Recognition from Videos of Eating for Calorie Estimation</a> (W. Wu &amp; J. Yang)</li>
<li><a href="http://portal.acm.org/citation.cfm?id=1631002" target="_blank">Drinking activity analysis from fast food eating video using generative models</a> (Q. Wang &amp; J. Yang)</li>
<li><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&amp;_udi=B6T5J-48XVDPW-29&amp;_user=10&amp;_coverDate=09%2F30%2F1989&amp;_rdoc=1&amp;_fmt=high&amp;_orig=search&amp;_sort=d&amp;_docanchor=&amp;view=c&amp;_searchStrId=1356113614&amp;_rerunOrigin=scholar.google&amp;_acct=C000050221&amp;_version=1&amp;_urlVersion=0&amp;_userid=10&amp;md5=d562bbcc0b16dccfdff235bf90f2b064" target="_blank">Computerized collection and analysis of dietary intake information</a> (D. Feskanich et al.)</li>
<li><a href="http://isl.ira.uka.de/fileadmin/publication-files/848_NBC08_Lei.pdf" target="_blank">Automatic  dietary assessment from fast food categorization</a> (L. Yang et al.)</li>
<li><a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.158.54" target="_blank">Pittsburgh  Fast-Food Image Dataset</a> (M. Chen et al.)</li>
</ul>
<p><em>Food Interactions and Gustatory Displays &#8211; Proposals:</em></p>
<ul>
<li><a href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;ved=0CBIQFjAA&amp;url=http%3A%2F%2Fwww.monzy.org%2Feui%2Fedible-bits.pdf&amp;rct=j&amp;q=Edible+Bits%3A+Seamless+Interfaces+between+People%2C+Data+and+Food&amp;ei=UvoFTO7QK4GClAf0rqS7Cg&amp;usg=AFQjCNGGN3Ht-kLfMXn1T0a93SVQNkgV9Q" target="_blank">Edible  Bits: Seamless Interfaces between People, Data  and Food</a> (D. Maynes-Aminzade)</li>
<li><a href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;ved=0CBIQFjAA&amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.97.211%26rep%3Drep1%26type%3Dpdf&amp;rct=j&amp;q=Food+simulator%3A+A+haptic+interface+for+biting&amp;ei=ivoFTK_8E4SBlAfbq8DWCg&amp;usg=AFQjCNHQ4gU0BD_-S4ma7q3M11f9GXz1VQ" target="_blank">Food simulator: A haptic interface for biting</a> (H.  Iwata et al.) <span style="color: #ff0000;"><em>*recommended</em></span></li>
<li><a href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;ved=0CBYQFjAA&amp;url=http%3A%2F%2Fportal.acm.org%2Fcitation.cfm%3Fid%3D1178823.1178882&amp;rct=j&amp;q=Straw-like+user+interface%3A+virtual+experience+of+the+sensation+of+drinking+using+a+straw&amp;ei=p_oFTKzLA4GClAecr6S7Cg&amp;usg=AFQjCNHZtGlgSAgdzCeT42oAO8fvvuIBXg" target="_blank">Straw-like user interface: virtual experience of the  sensation of drinking using a straw</a> (Y. Hashimoto et al.)</li>
</ul>
<p><a><img class="size-full wp-image-656" title="star-trek-replicator" src="http://www.flong.com/blog/wp-content/uploads/2010/06/star-trek-replicator.jpg" alt="Star Trek Replicator - Computational Gastronomy" width="664" height="464" /></a></p>
<p><em>The Star Trek </em>replicator<em>, a computational gastronomy system.</em></p>
<p><em><a href="http://xkcd.com/720/"><img class="alignnone" title="XKCD #720: Recipes" src="http://imgs.xkcd.com/comics/recipes.png" alt="XKCD #720: Recipes" width="663" height="357" /></a><br />
</em></p>
<p><em>From </em><a href="http://xkcd.com/720/">XKCD (#720)</a>:<em> A speculation on genetic algorithms and recipe generation. (Thx <a href="http://twitter.com/zzkt/status/15255156233" target="_blank">@zzkt</a>)<br />
</em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/golanlevin?a=xRQVuFZHQWk:J-ZYiUO8e-Q:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/golanlevin?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/golanlevin/~4/xRQVuFZHQWk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.flong.com/blog/2010/computational-gastronomy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.flong.com/blog/2010/computational-gastronomy/</feedburner:origLink></item>
		<item>
		<title>Announcing: An Exhibition of Student Projects!</title>
		<link>http://feedproxy.google.com/~r/golanlevin/~3/BOvEHlHPtb8/</link>
		<comments>http://www.flong.com/blog/2010/announcing-an-exhibition-of-student-projects/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 15:30:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.flong.com/blog/?p=637</guid>
		<description><![CDATA[What: Projects from &#8220;Special Topics in Interactive Art &#38; Computational Design&#8220; Where: Carnegie Mellon STUDIO for Creative Inquiry, CFA-111 When: Wednesday, 28 April 2010, 4:30-6:00pm Golan LEVIN (Associate Professor of Electronic Art) and Patrick Gage KELLEY (Teaching Assistant and PhD Student, CS), are proud to present capstone projects and other treats from our interdisciplinary Spring [...]]]></description>
			<content:encoded><![CDATA[<p><strong>What: Projects from &#8220;<a href="http://golancourses.net/2010spring/final" target="_blank">Special Topics in Interactive Art &amp;  Computational Design</a>&#8220;</strong><strong><br />
Where:</strong> Carnegie Mellon STUDIO for Creative Inquiry,  CFA-111<strong> </strong><strong><br />
When:</strong> Wednesday, 28 April  2010,  4:30-6:00pm<strong><br />
</strong></p>
<p><a href="../../" target="_blank"><strong>Golan LEVIN</strong></a> (Associate Professor of Electronic Art) and <a href="http://www.cs.cmu.edu/%7Epkelley/" target="_blank"><strong>Patrick  Gage KELLEY</strong></a> (Teaching Assistant and PhD Student, CS),  are proud to present capstone projects and other treats from our  interdisciplinary Spring 2010 course, <a href="http://golancourses.net/2010spring/final/" target="_blank"><strong><em>Special   Topics in Interactive Art &amp; Computational Design</em></strong></a>,  in which 22 students from seven departments — Art, Architecture,  Design, Computer Science, Human-Computer Interaction, Electrical  Engineering, and Entertainment Technology — spanning the full range from  freshmen to doctoral students — have explored computation as a medium  for curiosity-driven experimentation!</p>
<p><em><strong>COME SEE</strong> information visualizations … augmented  realities … interactive robotics … generative form fabrication …  contestational  retrosurveillance …mobile software … speech-driven  gaming …  computational  inflatables … crowd-sourced </em><em>psychoanalytics</em><em> … 2D and 3D game  design … culture analysis machines … useful web  services … and freestyle computing hacks … all developed in  arts-oriented computing environments like PROCESSING, OPENFRAMEWORKS,  FLASH and ARDUINO. </em></p>
<p><img class="size-full wp-image-638" title="Poster for Class Exhibition. 4-28-2010" src="http://www.flong.com/blog/wp-content/uploads/2010/04/stiacd-665.jpg" alt="Poster for Class Exhibition. 4-28-2010" width="665" height="1028" /></p>
<p><strong>Featuring new works by:</strong> Caryn AUDENRIED, Solomon  BISKER, Amanda BURRIDGE, Richard CAMERON, Justin EDMUND, Mehrdad GHODS,  Max HAWKINS, Michael HILL, Xiaoyuan JIANG, Nara KASBERGEN, Jessica MENG,  Jon MILLER, Alyssa REUTER, Matthew SANDLER, Paul SHEN, Jordan SINCLAIR,  Gabriela URIBE, Karl D.D. WILLIS, Kuan Ju WU, Cheng XU, David YEN,  &amp; Raymond YUN. <em>This exhibition was made possible with generous support from the Fine Foundation; the STUDIO for Creative Inquiry at Carnegie Mellon, and the CMU School of Art. </em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/golanlevin?a=BOvEHlHPtb8:1h2Gr6plrCM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/golanlevin?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/golanlevin/~4/BOvEHlHPtb8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.flong.com/blog/2010/announcing-an-exhibition-of-student-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.flong.com/blog/2010/announcing-an-exhibition-of-student-projects/</feedburner:origLink></item>
		<item>
		<title>Interactive projections for Richard III, at CMU</title>
		<link>http://feedproxy.google.com/~r/golanlevin/~3/S4ia2svr_tQ/</link>
		<comments>http://www.flong.com/blog/2010/interactive-projections-for-richard-iii-at-cmu/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 21:16:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://www.flong.com/blog/?p=624</guid>
		<description><![CDATA[For Matt Gray&#8217;s production of Richard III at Carnegie Mellon, MFA student Riley Harmon and I developed an interactive projection system of &#8220;static noise&#8221; on the bodies of actors playing the roles of &#8220;ghosts&#8221;. An infrared computer vision system built in openFrameworks is used to track the bodies of the &#8220;ghost&#8221; performers. Imagery of a [...]]]></description>
			<content:encoded><![CDATA[<p>For <a href="http://www.cmu.edu/news/archive/2010/April/april7_richardiii.shtml" target="_blank">Matt Gray&#8217;s production of <em>Richard III</em> at Carnegie Mellon</a>, MFA student <a href="http://rileyharmon.com" target="_blank">Riley Harmon</a> and I developed an interactive projection system of &#8220;static noise&#8221; on the bodies of actors playing the roles of &#8220;ghosts&#8221;. An infrared computer vision system built in <a href="http://www.openframeworks.cc" target="_blank">openFrameworks</a> is used to track the bodies of the &#8220;ghost&#8221; performers. Imagery of a dynamic noise pattern &#8212; resembling a malfunctioning &#8220;<a href="http://images.google.com/images?q=%22Princess%20Leia%22%20hologram"  target="_blank">Princess Leia hologram</a>&#8221; transmission &#8212; then appear projected into the bodies of the ghosts of Richard&#8217;s murdered victims, as they visit him in his sleep. Some preliminary teaser <a href="http://www.vimeo.com/11013624" target="_blank">video</a>, photos, and screencaps of the scene are below.</p>
<p>Please consider seeing the show by if you&#8217;re in Pittsburgh! The show runs through April 24th at the Philip Chosky Theater in the Purnell Center at CMU [<em><a href="http://bit.ly/cmuChoskyTheater">map</a></em>]. Performances are at 8pm, Tuesdays through Saturdays, with an additional matinee performance at 2pm on Saturdays.</p>
<p><img src="http://www.flong.com/blog/wp-content/uploads/2010/04/richard-ghosts-test-665.jpg" alt="Test image of ghost projections for Richard III" title="Test image of ghost projections for Richard III" width="665" height="385" class="alignnone size-full wp-image-627" /></p>
<p><object width="665" height="441"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11013624&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=11013624&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="665" height="441"></embed></object></p>
<p><img src="http://www.flong.com/blog/wp-content/uploads/2010/04/richard-ghosts-software-665.jpg" alt="Screen capture of Richard-III Ghost Tracking Software" title="Screen capture of Richard-III Ghost Tracking Software" width="665" height="758" class="size-full wp-image-633" /></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/golanlevin?a=S4ia2svr_tQ:FCI2q4cs9Gk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/golanlevin?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/golanlevin/~4/S4ia2svr_tQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.flong.com/blog/2010/interactive-projections-for-richard-iii-at-cmu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.flong.com/blog/2010/interactive-projections-for-richard-iii-at-cmu/</feedburner:origLink></item>
	</channel>
</rss>
