<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ideas For Dozens</title>
	<atom:link href="http://urbanhonking.com/ideasfordozens/feed/" rel="self" type="application/rss+xml" />
	<link>http://urbanhonking.com/ideasfordozens</link>
	<description></description>
	<lastBuildDate>Tue, 07 Feb 2012 15:42:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Machine Pareidolia: Hello Little Fella Meets FaceTracker</title>
		<link>http://urbanhonking.com/ideasfordozens/2012/01/14/machine-pareidolia-hello-little-fella-meets-facetracker/</link>
		<comments>http://urbanhonking.com/ideasfordozens/2012/01/14/machine-pareidolia-hello-little-fella-meets-facetracker/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 04:32:44 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Art]]></category>

		<guid isPermaLink="false">http://urbanhonking.com/ideasfordozens/?p=543</guid>
		<description><![CDATA[In a recent post on the BERG blog, Gardens and Zoos, Matt Jones explored a series of ideas for designing personality and life into technology products. One of the most compelling of these takes advantage of pareidolia, the natural human &#8230; <a href="http://urbanhonking.com/ideasfordozens/2012/01/14/machine-pareidolia-hello-little-fella-meets-facetracker/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
  In a recent post on the BERG blog, <a href="http://berglondon.com/blog/2012/01/06/gardens-and-zoos/">Gardens and Zoos</a>, Matt Jones explored a series of ideas for designing personality and life into technology products. One of the most compelling of these takes advantage of <a href="http://en.wikipedia.org/wiki/Pareidolia">pareidolia</a>, the natural human inclination to see faces everywhere around us.
</p>
<p>
<img src="http://berglondon.com/wp-content/uploads/2011/12/GardensZoos2_Dec2011.038-530x397.jpg" /><br />
<em>Jones&#8217;s slide introducing pareidolia.</em>
</p>
<p>
  Jones advocates designing faces into new technology products as a way of making them more approachable, using pareidolia to give products personality and humanize them without climbing all the way down into the Uncanny Valley. He even runs a Flickr group collecting images of pareidolia-inducing objects: <a href="http://www.flickr.com/groups/hellolittlefella/">Hello Little Fella!</a>
</p>
<p>
  Lately I&#8217;ve been thinking a lot about faces. I&#8217;ve <a href="http://urbanhonking.com/ideasfordozens/2011/09/16/on-being-seen-by-the-machine/">had mine scanned</a> and <a href="http://vimeo.com/21624826">turned it into a digital puppet</a>. I&#8217;ve been working extensively with face tracking, building a series of experiments and prototypes with Kyle McDonald&#8217;s <a href="https://github.com/kylemcdonald/ofxFaceTracker">ofxFaceTracker</a>, an OpenFrameworks frontend to Jason Saradigh&#8217;s excellent <a href="http://web.mac.com/jsaragih/FaceTracker/FaceTracker.html">FaceTracker</a> project. Most publicly so far, I <a href="http://vimeo.com/31502030">demonstrated that FaceTracker can track hand-drawn faces</a>.
</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6686339149/" title="Using FaceTracker OSC to draw in Processing by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7144/6686339149_9ced9e43b5.jpg" width="500" height="198" alt="Using FaceTracker OSC to draw in Processing"></a></p>
<p>  <em><a href="gist.github.com/1603230">Accessing FaceTracker data in Processing.</a></em>
  </p>
<p>
  Facial recognition techniques give computers their own flavor of pareidolia. In addition to responding to actual human faces, facial recognition systems, just like the human vision system, sometimes produce false positives, latching onto some set of features in the image as matching their model of a face. Rather than the millions of years of evolution that shapes human vision, their pareidolia is based on the details of their algorithms and the vicissitudes of the training data they&#8217;ve been exposed to.
</p>
<p>
  Their pareidolia is different from ours. Different things trigger it.
</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6273260043/" title="Face In The Window by atduskgreg, on Flickr"><img src="http://farm7.staticflickr.com/6106/6273260043_0013419b16.jpg" width="500" height="388" alt="Face In The Window"></a></p>
<p>  <em><a href="http://www.flickr.com/photos/unavoidablegrain/6273260043/" title="Face In The Window by atduskgreg, on Flickr">Face in the Window</a>. FaceTracker seeing a face in a window at CMU&#8217;s Studio for Creative Inquiry during Art &amp;&amp; Code.</em>
  </p>
<p>
  After reading Jones&#8217;s post, I came up with an experiment designed to explore this difference. I decided to run all of the images from the Hello Little Fella Flickr group through FaceTracker and record the result. These images induce pareidolia in us, but would they do the same to the machine?
</p>
<p>
  Using the Flickr API, I pulled down 681 images from the group. I whipped up an OpenFrameworks app that loaded each image and passed it to FaceTracker for detection, saving an image of the resulting face if it was detected. The result was that FaceTracker detected a face in 50 of the images, or about 7%.
</p>
<p>
  When I looked through the results I found that they broke down into three different categories in terms of how the face detected by the software related to the face that a person would see in the photo: agreement, near agreement, and totally other. Each of these categories reveals a different possible relationship between the human vision system and the software vision system. Significantly I also found that I had a different emotional reaction to each of these types of results. I think the spectrum of possibilities outlined by these three categories is one we&#8217;re going to see a lot as we find ourselves surrounded by more and more designed objects that are embedded with computer vision. At the end of this post I&#8217;ll share some ideas about the repercussions this might have for the design of the <a href="http://berglondon.com/blog/2011/08/03/the-robot-readable-world/">Robot-Readable World</a>, both for the robots themselves and the things we create for them to look at.
  </p>
<p>
  But first a little more about each of the categories.
</p>
<h3>
  Agreement<br />
</h3>
<p>
Agreement happens when the face tracking system detects exactly the part of the scene that originally induced pareidolia in the photographer, inspiring them to take the photo in the first place. In many ways these are the most satisfying results. They give you the confirming feeling that YES <em>it</em> saw just what <em>I</em> saw. Here are some results that show Agreement:
</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691020489/" title="450 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7024/6691020489_c3cebbe9fe.jpg" width="374" height="500" alt="450"></a>
</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691017535/" title="320 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7033/6691017535_f6fd88c70e.jpg" width="500" height="315" alt="320"></a>
</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691017193/" title="281 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7155/6691017193_f5b9cc2a25.jpg" width="375" height="500" alt="281"></a></p>
<p>
  This one is rather good. I hadn&#8217;t really even been able to see the face in this cookie until the app showed it to me.
</p>
<p>
<a href="http://www.flickr.com/photos/unavoidablegrain/6691022631/" title="508 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7146/6691022631_5a0cb779b0.jpg" width="388" height="500" alt="508"></a>
</p>
<p>I think this one is especially exciting because there&#8217;s an inductive implication that it could see all of these:</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691015371/" title="201 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7035/6691015371_6089769fcc.jpg" width="375" height="500" alt="201"></a></p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691011595/" title="50 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7035/6691011595_35ce34c6d6.jpg" width="375" height="500" alt="50"></a></p>
<p>
  One major ingredient of Agreement seems to be a clearly defined boundary around the prospective face&#8217;s features. I discovered something similar when experimenting with <a href="http://vimeo.com/31502030">getting FaceTracker to see hand-drawn faces</a>.
</p>
<h3>
  Near Agreement<br />
</h3>
<p>
  The next category is Near Agreement. Near Agreement takes place when some  &mdash; but not all &mdash; facial features the algorithm picks out match those a human eye would see.
</p>
<p>
  For example, here&#8217;s a case where it sees the same eyes as I do, but we disagree about the nose and mouth.
</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691010729/" title="28 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7032/6691010729_1f86a80a65.jpg" width="500" height="315" alt="28"></a></p>
<p>
  I see the black hole there as the mouth of the little fella. The algorithm sees that as his nose and the shift in the reflection below that as the mouth.
</p>
<p>
  When these kinds of Near Agreements occur I find myself going through a quick series of emotions. Excitement: it sees it! Let down: oh, but that&#8217;s not quite it. Empathy: you were <em>so</em> close; just a little to left, I see where you went wrong&#8230;
</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691026363/" title="662 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7026/6691026363_a561156293.jpg" width="500" height="500" alt="662"></a></p>
<p>
  Got the mouth right, but the eyes were just a little too far out of reach:
</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691025775/" title="633 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7025/6691025775_34eec3df05.jpg" width="499" height="500" alt="633"></a></p>
<p>
  The back of this truck I actually find quite compelling. I think the original photographer was thinking of arrows at the top as the eyes and the circular extrusion as the border of the face. But now, having seen the face that the algorithm detected, I can actually see that face more clearly than the one I think the photographer intended.
</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691021373/" title="468 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7149/6691021373_27c46b2a82.jpg" width="442" height="500" alt="468"></a>
</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691017699/" title="369 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7155/6691017699_45d7196a3d.jpg" width="244" height="500" alt="369"></a></p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691014025/" title="181 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7161/6691014025_bc8b06aa3c.jpg" width="375" height="500" alt="181"></a></p>
<h3>
  Totally Other<br />
</h3>
<p>
  This last category is the one I find the most fascinating. Sometimes FaceTracker would detect a face in a part of the image totally separate from the face the image was intended to capture. Something in that portion of the image, which frequently looked like an undifferentiated portion of some surface, or a bit of seemingly meaningless detail, triggered the system&#8217;s pattern for a face.
</p>
<p>
  These elicit the most complex emotional response of all. It starts off with &#8220;huh?&#8221;, a sense of mystification about what the algorithm could be responding to. Then there&#8217;s a kind of aesthetic of the glitch. &#8220;Oh it&#8217;s a screw up, how funny and slightly troubling&#8221;. But then finally, the more of these I saw, the more the effect started to feel truly other: like a coherent, but alien idea of what faces were. It made me wonder what <em>I</em> was missing. &#8220;What is it seeing there?&#8221; It&#8217;s a feeling akin to having a conversation with someone who&#8217;s gradually losing interest in what you&#8217;re saying and starting to scan the room over your shoulder.
</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691020239/" title="445 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7005/6691020239_0c45bf75ec.jpg" width="375" height="500" alt="445"></a>
</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691020015/" title="438 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7163/6691020015_252fdb2afb.jpg" width="332" height="500" alt="438"></a></p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691019695/" title="436 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7154/6691019695_c20a185beb.jpg" width="500" height="315" alt="436"></a></p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6691011059/" title="29 by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7013/6691011059_e1dda0d1c5.jpg" width="333" height="500" alt="29"></a>
</p>
<p>
  You can see the rest of the 50 photos in my <a href="http://www.flickr.com/photos/unavoidablegrain/sets/72157628855014523/">Machine Pareidolia set on Flickr</a>.
</p>
<p>
  So what can we learn from these results? Let&#8217;s return to Mr. Jones for a moment. He explained his interest in human pareidolia thusly:
</p>
<blockquote><p>
  One of the prime materials we work with as interaction designers is human perception. We try to design things that work to take advantage of its particular capabilities and peculiarities.
</p></blockquote>
<p>
  As designers of the Robot-Readable World we need to have a similar sense of the capabilities and peculiarities of this new computational perception. Hopefully this experiment can give us some sense of the texture of that perception, an idea of how much of its circle overlaps with ours in the venn diagram of vision systems and how the non-overlapping parts look and behave.
</p>
<p>
  <a href="http://www.flickr.com/photos/unavoidablegrain/6693144511/" title="Human-machine venn diagram by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7164/6693144511_a6449c535d.jpg" width="397" height="234" alt="Human-machine venn diagram"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://urbanhonking.com/ideasfordozens/2012/01/14/machine-pareidolia-hello-little-fella-meets-facetracker/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>26 Books in 2011</title>
		<link>http://urbanhonking.com/ideasfordozens/2011/12/30/26-books-in-2011/</link>
		<comments>http://urbanhonking.com/ideasfordozens/2011/12/30/26-books-in-2011/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 20:34:30 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://urbanhonking.com/ideasfordozens/?p=538</guid>
		<description><![CDATA[Last year, I read 43 books, a relatively high annual total for me. This was largely due to spending so much time that year working on a stop-motion animated music video which lead to a huge amount of audio book &#8230; <a href="http://urbanhonking.com/ideasfordozens/2011/12/30/26-books-in-2011/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
  <a href="http://urbanhonking.com/ideasfordozens/2010/12/31/43-books-in-2010/">Last year</a>, I read 43 books, a relatively high annual total for me. This was largely due to spending so much time that year working on a stop-motion animated music video which lead to a huge amount of audio book listening. This year, I read much less. The two main factors in this falloff were my busy last semester at ITP and the fact that I spent much of the second half of the year <em>writing</em> <a href="http://makingthingssee.com">a book</a>. The total for this year came out to 26 books. Plus an eight additional comics, an area I&#8217;ve started dabbling in due to the influence of Matt Jones and Jack Schulze of <a href="http://berglondon.com">BERG London</a> who I had the pleasure to meet this year.
</p>
<p>
Looking at the list, the topics of this year&#8217;s books much resemble the list from last year with sci-fi and special effects behind-the-scenes making up the lionshare. Of these, I wanted to specially point out The Gone-Away World by Nick Harkaway, which I just finished recently. It&#8217;s a great weird mix of post-apocalyptic sci-fi, coming-of-age college novel, and Tarrantino-esque madcap kung-fu. But somehow darker and more moving than that description makes it sound. There are also a few tech/business history books: the Steve Jobs bio, Steven Levy on Google, The Toyota Way, and The Gun by CJ Chivers, which is an excellent history of the AK-47 and one of the best books on design I&#8217;ve ever read.
</p>
<ul style="list-style-type:none">
<li><a href="http://www.amazon.com/Steve-Jobs-Walter-Isaacson/dp/1451648537/ideasfordozens-20">Steve Jobs</a> by Walter Isaacson</li>
<li><a href="http://www.amazon.com/Gone-Away-World-Nick-Harkaway/dp/0307268861/ideasfordozens-20">The Gone-Away World</a> by Nick Harkaway</li>
<li><a href="http://www.amazon.com/Information-History-Theory-Flood/dp/0375423729/ideasfordozens-20">The Information</a> by James Gleick</li>
<li><a href="http://www.amazon.com/Neuromancer-William-Gibson/dp/0441569595/ideasfordozens-20">Neuromancer</a> by William Gibson (reread)</li>
<li><a href="http://www.amazon.com/Count-Zero-William-Gibson/dp/0441117732/ideasfordozens-20">Count Zero</a> by William Gibson (reread)</li>
<li><a href="http://www.amazon.com/Mona-Lisa-Overdrive-William-Gibson/dp/0553281747/ideasfordozens-20">Mona Lisa Overdrive</a> by William Gibson (reread)</li>
<li><a href="http://www.amazon.com/Difference-Engine-Spectra-special-editions/dp/055329461X/ideasfordozens-20">The Difference Engine</a> by William Gibson and Bruce Sterling</li>
<li><a href="http://www.amazon.com/How-Win-Friends-Influence-People/dp/1439167346/ideasfordozens-20">How To Win Friends and Influence People</a> by Dale Carnegie</li>
<li><a href="http://www.amazon.com/This-Is-Water/dp/B0026N9M08/ideasfordozens-20">This Is Water by David Foster Wallace</a> (original audio recording)</li>
<li><a href="http://www.amazon.com/Heads-We-Shoot-Making-Things/dp/0061645567/ideasfordozens-20">Heads on and We Shoot: The Making of Where the Wild Things Are</a> from McSweeney&#8217;s</li>
<li><a href="http://www.amazon.com/Making-Fantastic-Mr-Fox-Anderson/dp/0847833542/ideasfordozens-20">The Making of Fantastic Mr. Fox</a> by Wes Anderson</li>
<li><a href="http://www.amazon.com/Prince-Networks-Latour-Metaphysics-Anamnesis/dp/0980544068/ideasfordozens-20">Prince of Networks: Bruno Latour and Metaphysics</a> by Graham Harman</li>
<li><a href="http://www.amazon.com/Blade-Runner-Inside-Don-Shay/dp/1840232102/ideasfordozens-20">Blade Runner: The Inside Story</a> by Don Shay</li>
<li><a href="http://www.amazon.com/Consider-Lobster-David-Foster-Wallace/dp/0316156116/ideasfordozens-20">Consider the Lobster</a> by David Foster Wallace (reread)</li>
<li><a href="http://www.amazon.com/Plex-Google-Thinks-Works-Shapes/dp/1416596585/ideasfordozens-20">In The Plex</a> by Steven Levy</li>
<li><a href="http://www.amazon.com/Gun-C-J-Chivers/dp/0743270762/ideasfordozens-20">The Gun</a> by CJ Chivers</li>
<li><a href="http://www.kickstarter.com/projects/shiffman/the-nature-of-code-book-project">The Nature of Code</a> by Dan Shiffman (manuscript)</li>
<li><a href="http://www.amazon.com/Millennium-People-J-G-Ballard/dp/000225848X/ideasfordozens-20">Millenium People</a> by JG Ballard</li>
<li><a href="http://www.amazon.com/Toyota-Way-Management-Principles-Manufacturer/dp/0071392319/ideasfordozens-20">The Toyota Way</a> by Jeffrey Liker</li>
<li><a href="http://www.amazon.com/Men-Makeup-Monsters-Hollywoods-Illusion/dp/0312146787/ideasfordozens-20">Men, Makeup, and Monsters: Hollywood&#8217;s Masters of Illusion and FX</a> by Anthony Timpone</li>
<li><a href="http://www.amazon.com/Industrial-Light-Magic-Art-Innovation/dp/0810998025/ideasfordozens-20">Industrial Light and Magic: The Art of Innovation</a> by Pamela Glintenkamp</li>
<li><a href="http://www.amazon.com/Special-Effects-Technique-Richard-Rickitt/dp/0823077330/ideasfordozens-20">Special Effects: The History and Technique</a> by Richard Rickitt</li>
<li><a href="http://www.amazon.com/Primer-Graphics-Development-Wordware-Library/dp/1556229119/ideasfordozens-20">3D Math Primer for Graphics and Game Development</a> by Fletcher Dunn</li>
<li><a href="http://www.amazon.com/Reamde-Novel-Neal-Stephenson/dp/0061977969/ideasfordozens-20">Reamde</a> by Neal Stephenson</li>
<li><a href="http://www.amazon.com/Mindfulness-Plain-English-Revised-Expanded/dp/0861713214/ideasfordozens-20">Mindfulness in Plain English</a> by Bhante Gunaratana</li>
<li><a href="http://www.amazon.com/Brian-Eno-Music-Vertical-Color/dp/0306806495/ideasfordozens-20">Brian Eno: His Music and the Vertical Color of Sound</a> by Eric Tamm</li>
</ul>
<p>Here are the comics I read this year (I would link to these too, but, weirdly enough, I have no clue of the best place to acquire them online having, amazingly, actually bought nearly all of them from in-person &#8220;stores&#8221; such as <a href="http://www.fpnyc.com/">Forbidden Planet</a> and <a href="http://stmarkscomics.com/">St. Marks Comics</a>.):</p>
<ul style="list-style-type:none">
<li><a href="http://berglondon.com/products/svk/">SVK</a> by Warren Ellis</li>
<li>Invincible Iron Man: The Five Nightmares by Matt Fraction</li>
<li>Invincible Iron Man: Extremis by Warren Ellis</li>
<li>Transmetropolitan Vol 1 by Warren Ellis</li>
<li>Planetary Vol 1 by Warren Ellis</li>
<li>The Punisher: Born by Garth Ennis</li>
<li>The Punisher MAX, Vol 1 by Garth Ennis</li>
<li>Usagi Yojimbo Book 2: Samurai by Stan Sakai</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://urbanhonking.com/ideasfordozens/2011/12/30/26-books-in-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Personal Fabrication Nightmare</title>
		<link>http://urbanhonking.com/ideasfordozens/2011/11/21/a-personal-fabrication-nightmare/</link>
		<comments>http://urbanhonking.com/ideasfordozens/2011/11/21/a-personal-fabrication-nightmare/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 19:38:26 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://urbanhonking.com/ideasfordozens/?p=535</guid>
		<description><![CDATA[Just received the following story from my friend Devin Chalmers. I asked for his permission to publish it because I think it is telling and disturbingly likely to come true. I had a personal fabrication nightmare last night. I&#8217;d just &#8230; <a href="http://urbanhonking.com/ideasfordozens/2011/11/21/a-personal-fabrication-nightmare/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Just received the following story from my friend <a href="http://generalspecificity.com/">Devin Chalmers</a>. I asked for his permission to publish it because I think it is telling and disturbingly likely to come true.</p>
<blockquote><p>
  I had a personal fabrication nightmare last night. I&#8217;d just gotten off a roller coaster, and at the photo booth where you can get commemorative prints of your shit-your-pants face they had just gotten a whole 3D printing/lasercutter workflow set up. I was overwhelmed by the choices of materials and patterns: the sample book was like 40 pages long. They could do steins, shot glasses, brass plaques, 3D and 2.5D scene reconstructions, six different sorts of wood, marquetry, choices of how to define figure and ground—it was all very confusing. I came back after an hour to let the crowd die down and I still couldn&#8217;t decide what the best way to physicalize my roller coaster adventure would be. I awoke still anxious.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://urbanhonking.com/ideasfordozens/2011/11/21/a-personal-fabrication-nightmare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing ofxaddons.com, a directory of OpenFrameworks extensions</title>
		<link>http://urbanhonking.com/ideasfordozens/2011/11/14/announcing-ofxaddons-com-a-directory-of-openframeworks-extensions/</link>
		<comments>http://urbanhonking.com/ideasfordozens/2011/11/14/announcing-ofxaddons-com-a-directory-of-openframeworks-extensions/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 21:52:09 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[OpenFrameworks]]></category>

		<guid isPermaLink="false">http://urbanhonking.com/ideasfordozens/?p=527</guid>
		<description><![CDATA[At Art &#38;&#38; Code 3D a few weeks back I met James George. We immediately found we had a lot in common, kicking off a wide-ranging conversation about everything from miniature worlds to Portland food carts to ways of making &#8230; <a href="http://urbanhonking.com/ideasfordozens/2011/11/14/announcing-ofxaddons-com-a-directory-of-openframeworks-extensions/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
  At <a href="http://artandcode.com/3d/">Art &amp;&amp; Code 3D</a> a few weeks back I met <a href="http://www.jamesgeorge.org/">James George</a>. We immediately found we had a lot in common, kicking off a wide-ranging conversation about everything from miniature worlds to Portland food carts to ways of making the OpenFrameworks community more accessible. On this last topic, we even conceived a project: an website that searches Github for OpenFrameworks addons written by the community and indexes them for easier discovery. Today, I&#8217;m proud to announce the launch of exactly that site: <a href="http://ofxaddons.com">ofxaddons.com</a>.
</p>
<p>
  The site features nearly 300 addons that we&#8217;ve divided into 13 categories: <a href="http://ofxaddons.com/#animation">Animation</a>, <a href="http://ofxaddons.com/#bridges">Bridges</a>, <a href="http://ofxaddons.com/#computervision">Computer Vision</a>, <a href="http://ofxaddons.com/#graphics">Graphics</a>, <a href="http://ofxaddons.com/#gui">GUI</a>, <a href="http://ofxaddons.com/#hardwareinterface">Hardware Interface</a>, <a href="http://ofxaddons.com/#ios">iOS</a>, <a href="http://ofxaddons.com/#physics">Physics</a>, <a href="http://ofxaddons.com/#sound">Sound</a>, <a href="http://ofxaddons.com/#typography">Typography</a>, <a href="http://ofxaddons.com/#utilities">Utilities, <a href="http://ofxaddons.com/#videocamera">Video/Camera</a>, and <a href="http://ofxaddons.com/#webnetworking">Web/Networking</a>. We&#8217;ve also put together a <a href="http://ofxaddons.com/howto">how-to guide</a> on creating your own addons. That guide includes standards for how to structure an addon so it is easy to install and will work smoothly for all users of OpenFrameworks. It&#8217;s based on the emerging standards coming out of the community of addon authors.
</p>
<p>
  While categorizing them, James and I came across a bunch of really remarkable addons. In the rest of this post, I want to highlight a few of the addons that most struck us.
</p>
<h3>ofxGrabCam</h3>
<p>
  <a href="http://ofxaddons.com/repos/247">ofxGrabCam</a> by <a href="kimchiandchips.com/">Elliot Woods</a> provides an intuitive interactive camera for 3D apps. It was inspired by the camera in Google Sketchup: it uses the z-buffer to automatically select the object that&#8217;s under your mouse when you click as the center of your translations and rotations. Here&#8217;s a video Elliot made showing it in action:
</p>
<p><object width="640" height="360"><param name="movie" value="http://www.youtube.com/v/nQUhZzcBLjg&#038;rel=0&#038;hl=en_US&#038;feature=player_embedded&#038;version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/nQUhZzcBLjg&#038;rel=0&#038;hl=en_US&#038;feature=player_embedded&#038;version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"></embed></object></p>
<p>
 And here&#8217;s <a href="http://www.kimchiandchips.com/blog/?p=764">Elliot&#8217;s full write-up</a>. Rumor on the street is that this might make it into OF core in a future version, so check it out now.</p>
<h3>ofxGifEncoder and ofxGifDecoder</h3>
<p>
  <img src="http://i41.tinypic.com/wkizow.gif" />
</p>
<p>
  Both by <a href="http://www.jesusgollonet.com">Jesus Gollonet</a>, this pair of libraries lets you create and parse animated GIFs. <a href="http://ofxaddons.com/repos/39">ofxGifEncoder</a> does the creating and <a href="http://ofxaddons.com/repos/140">ofxGifDecoder</a> does the parsing. You can create GIFs programmatically to look however you want. The animated GIF above shows an awesome glitch I achieved recently while screwing up some pixel math on one of the sample OF videos.
</p>
<p><a href="https://github.com/trentbrooks/FUGIFS">FUGIFs</a> is an app that use ofxGifEncoder to automatically turn video files into animated GIFs. Sounds like it was made by a frustrated designer of animated flash banners. Useful.</p>
<h3>
  ofxGts<br />
</h3>
<p>
  <img src="http://gts.sourceforge.net/gallery/heads.png" width="450px" />
</p>
<p>
  <a href="http://ofxaddons.com/repos/343">ofxGts</a> is an addon from <a href="karldd">Karl D.D. Willis</a> that wraps the <a href="http://gts.sourceforge.net/">Gnu Triangulated Surface Library</a>, a useful set of tools for dealing with 3D surfaces. GTS can add vertices to meshes to make them smoother (as shown in the horse model illustrated above), it can simplify models, it can decompose models into triangle strips, etc., etc.
</p>
<p>
  Karl&#8217;s version of the addon seems to have some compatibility issues with OF 007 so James put together a fork that fixes those: <a href="https://github.com/obviousjim/ofxGts">obviousjim/ofxGts</a>. Merge that pull request Karl!
</p>
<h3>ofxKyonyu: Kinect Breast Enlarger</h3>
<p><iframe width="420" height="315" src="http://www.youtube.com/embed/dxRvRbPtmKo" frameborder="0" allowfullscreen></iframe></p>
<p>
<a href="https://github.com/novogrammer/ofxKyonyu">This addon</a> by <a href="https://github.com/novogrammer">novogrammer</a> was too absurd not to share. It seems (<a href="http://kn.2ngen.jp/">the site</a> (and most of the documentation/code comments) is in Japanese) to use the Kinect to enlarge the breasts of people it detects. I&#8217;m sure this will get reused in <em>tons</em> of projects.
</p>
<h3>ofxSoftKeyboard</h3>
<p>	<a href="http://www.flickr.com/photos/unavoidablegrain/6344911035/" title="ofxSoftKeyboard by atduskgreg, on Flickr"><img src="http://farm7.static.flickr.com/6109/6344911035_c1f3dd728b.jpg" width="500" height="394" alt="ofxSoftKeyboard"></a></p>
<p>
  Here&#8217;s a great addon that could have a lot of application in accessibility and kiosk work: <a href="http://ofxaddon.com/repos/281">ofxSoftKeyboard by Lensley</a>. This addon provides an onscreen software keyboard that generates key events when the user clicks (or taps, etc.) on a key. It works well and they&#8217;ve already accepted James&#8217; pull request updating it to full OF 007 compatibility!
</p>
<h3>ofxUeye</h3>
<p>Last, but not least, we&#8217;ve got <a href="http://ofxaddons.com/repos/362">this addon</a> which provides an interface to the <a href="http://www.ids-imaging.com/frontend/products.php?interface=GIGE&#038;family=SE">GigE uEye SE</a>, a small form-factor Gigabit Ethernet camera that looks really useful. It&#8217;s windows only at the moment so we haven&#8217;t been able to actually run it, but it seems quite well put together.</p>
<p>
  That&#8217;s just a sampling of all of the great addons that are available. If you browse around the site for just a few minutes I&#8217;ll bet you&#8217;ll be amazed at what you find. In fact, I bet, like me, you&#8217;ll immediately think of three projects ideas just seeing what kinds of cool things are possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://urbanhonking.com/ideasfordozens/2011/11/14/announcing-ofxaddons-com-a-directory-of-openframeworks-extensions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Streaming Kinect skeleton data to the web with Node.js</title>
		<link>http://urbanhonking.com/ideasfordozens/2011/10/27/streaming-kinect-skeleton-data-to-the-web-with-node-js/</link>
		<comments>http://urbanhonking.com/ideasfordozens/2011/10/27/streaming-kinect-skeleton-data-to-the-web-with-node-js/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 05:01:59 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[kinect]]></category>

		<guid isPermaLink="false">http://urbanhonking.com/ideasfordozens/?p=521</guid>
		<description><![CDATA[This past weekend, I had the honor of participating in Art &#38;&#38; Code 3D, a conference hosted by Golan Levin of the CMU Studio for Creative Inquiry about DIY 3D sensing. It was, much as Matt Jones predicted, &#8220;Woodstock for &#8230; <a href="http://urbanhonking.com/ideasfordozens/2011/10/27/streaming-kinect-skeleton-data-to-the-web-with-node-js/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/31162993?title=0&amp;byline=0&amp;portrait=0&amp;color=ff9933" width="450" height="281" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe></p>
<p>
  This past weekend, I had the honor of participating in <a href="http://artandcode.com/3d">Art &amp;&amp; Code 3D</a>, a conference hosted by Golan Levin of the CMU Studio for Creative Inquiry about DIY 3D sensing. It was, much as <a href="https://twitter.com/moleitau/status/109661440515915776">Matt Jones predicted</a>, &#8220;Woodstock for the robot-readable world&#8221;. I gave two talks at the conference, but those aren&#8217;t what I want to talk about now (I&#8217;ll have a post with a report on those shortly). For the week before the start of the actual conference, Golan invited a group of technologists to come work collaboratively on 3D sensing projects in an intensive atmosphere, &#8220;conference as laboratory&#8221; as he called it. This group included <a href="http://www.roxlu.com/">Diederick Huijbers</a>, <a href="http://kimchiandchips.com/">Elliot Woods</a>, <a href="http://joelgethinlewis.com/">Joel Gethin Lewis</a>, <a href="http://nui.joshland.org/">Josh Blake</a>, <a href="http://www.jamesgeorge.org/">James George</a>, <a href="http://kylemcdonald.net/">Kyle McDonald</a>, <a href="http://www.cibomahto.com/">Matt Mets</a>, <a href="http://www.nonpolynomial.com/">Kyle Machulis</a>, <a href="http://thesystemis.com/">Zach Lieberman</a>, <a href="http://www.fox-gieg.com/">Nick Fox-Gieg</a>, and a few others. It was truly a rockstar lineup and they took on a bunch of hard and interesting projects that have been out there in 3D sensing and made all kinds of impressive progress.
</p>
<p>
  One of the projects this group executed was a system for streaming the depth data from the Kinect to the web in real time. This let as many as a thousand people watch some of the conference talks in a 3D interface rendered in their web browser while they were going on. An anaglyphic option was available for those with red-blue glasses.
</p>
<p>
  I was inspired by this truly epic hack to take a shot at an idea I&#8217;ve had for awhile now: streaming the skeleton data from the Kinect to the browser. As you can see from the video at the top of this post, today I got that working. I&#8217;ll spend the bulk of this post explaining some of the technical details involved, but first I want to talk about why I&#8217;m interested in this problem.
  </p>
<p>
    <img src="http://urbanhonking.com/ideasfordozens/files/2011/10/Avatar20.jpg" width="500px">
  </p>
<p>
  As I&#8217;ve learned more and more about the making of Avatar, amongst the many innovations, one struck me most. The majority of the performances for the movie were recorded using a motion capture system. The actors would perform on a nearly empty motion capture stage, just them, the director, and a few technicians. After they had successful takes, the actors left the stage, the motion capture data was edited, and James Cameron, the director, returned. Cameron was then able to play the perfect, edited performances back over-and-over ad infinitum as he chose angles using a tablet device that let him position a virtual camera around the virtual actors. The actors performed without the distractions of a camera on a nearly black box set. The director could work for 18 hours on a single scene without having to worry the actors getting tired or screwing up any takes. The performance of the scene and the rendering of it into shots had been completely decoupled.
</p>
<p>
  I think this decoupling is very promising for future creative filmmaking environments. I can imagine an online collaborative community triangulated between a massively multiplier game, an open source project, and a traditional film crew where some people contribute scripts, some contribute motion capture recorded performances of scenes, others build 3D characters, models, and environments, still others light and frame these for cameras, still others edit and arrange the final result. Together they produce an interlocking network of aesthetic choices and contributions that produce not a single coherent work, but a mesh of creative experiences and outputs. Where current films resemble  a giant shrink-wrapped piece of proprietary software, this new world would look more like Github, a constantly shifting graph of contributions and related evolving projects.
</p>
<p>
  The first step towards this networked participatory filmmaking model is an application that allows remote real time motion capture performance. This hack is a prototype of that application. Here&#8217;s a diagram of its architecture:
</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/6285276586/" title="Skelestreamer architecture diagram by atduskgreg, on Flickr"><img src="http://farm7.static.flickr.com/6219/6285276586_06e21861c4.jpg" width="500" height="375" alt="Skelestreamer architecture diagram"></a></p>
<p>
  The source for all of the components is available on Github: <a href="https://github.com/atduskgreg/Skelestreamer">Skelestreamer</a>. In explaining the architecture, I&#8217;ll start from the Kinect and work my way towards the browser.
</p>
<h3>Kinect, OpenNI, and Processing</h3>
<p>
  The Processing sketch starts by accessing the Kinect depth image and the OpenNI skeleton data using <a href="http://code.google.com/p/simple-openni/">SimpleOpenNI</a>, the excellent library I&#8217;m using throughout <a href="http://shop.oreilly.com/product/0636920020684.do">my book</a>. The sketch waits for the user to calibrate. When they user has calibrated, it begins capturing the position of each of the user&#8217;s 14 joints into a custom class designed for the purpose. The sketch then sticks these objects into a queue, which is consumed by a separate thread. This separate thread takes items out of the queue, serializes them to JSON, and sends them to the server over a persistent socket connection that was created at the time the user was calibrated and we began streaming. This background thread and queue is a hedge against the possibility of latency in the streaming process. Right now as I&#8217;ve been running everything on one computer, I haven&#8217;t seen any latency, the queue nearly always runs empty. I&#8217;m curious to see if this level of throughput will continue once the sketch needs to stream to a remote server rather than simply over localhost.
</p>
<h3>Node.js and Socket.io</h3>
<p>
  The server&#8217;s only job is to accept the stream from the Processing sketch and forward it on to any browsers that connect and ask for the data. In theory I thought this would be a perfect job for <a href="http://nodejs.org/">Node.js</a> and it turned out I was right. This is my first experience with Node and while I&#8217;m not sure I&#8217;d want to build a conventional CRUD-y web app in it, it was a joy to work with for this kind of socket plumbing. The Node app has two components: one of them listens on a custom port to accept the streaming JSON data from the Processing sketch. The other component accepts connections on port 80 from browsers. These connections are made using <a href="http://socket.io/#how-to-use">Socket.io</a>. Socket.io is a protocol meant to provide a cross-browser socket API on top of the the rapidly evolving state of adoption of the <a href="http://dev.w3.org/html5/websockets/">Web Sockets Spec</a>. It includes both a Node library and a client javascript library, both of which speak the Socket.io protocol transparently, making socket communication between browsers and Node almost embarrassingly easy. Once a browser has connected, Node begins streaming the JSON from Processing to it. Node acts like a simple t-connector in a pipe, taking the stream from one place and splitting it out to many.
</p>
<p>
  <img src="http://i01.i.aliimg.com/photo/v0/259863183/pipe_fitting_T_connector_with_nut.jpg" width="400px"/>
</p>
<h3>Three.js</h3>
<p>
  At this point, we&#8217;ve got a real time stream of skeleton data arriving in the browser: 45 floats representing the x-, y-, and z-components of 15 joint vectors arriving 30 times a second. In order to display this data I needed a 3D graphics library for javascript. After the Art &amp;&amp; Coders&#8217; success with <a href="https://github.com/mrdoob/three.js/">Three.js</a>, I decided to give it a shot myself. I started from a basic Three.js example and was easily able to modify it to create one sphere for each of the 15 joints. I then used the streaming data arriving from Socket.io to update the position of each sphere as appropriate in the Three.js render function. Pointing the camera at the torso joint brought the skeleton into view and I was off to the races. Three.js is extremely rich and I&#8217;ve barely scratched the surface here, but it was relatively straightforward to to build this simple application.
</p>
<h3>Conclusion</h3>
<p>
  In general I&#8217;m skeptical of the browser as a platform for rich graphical applications. I think a lot of the time building these kinds of apps in the browser has mainly novelty appeal, adding levels of abstraction that hurt performance and coding clarity without contributing much to the user experience. However, since I explicitly want to explore the possibilities of collaborative social graphics production and animation, the browser seems a natural platform. That said, I&#8217;m also excited to experiment with <a href="http://unity3d.com/">Unity3D</a> as a potential rich client environment for this idea. There&#8217;s ample reason to have a diversity of clients for an application like this where different users will have different levels of engagement, skills, comfort, resources, and roles. The streaming architecture demonstrated here will act as a vital glue binding these diverse clients together.
</p>
<p>
  One next step I&#8217;m exploring that should be straightforward is the process of sending the stream of joint positions to <a href="http://www.jamesgeorge.org/">CouchDB</a> as they pass through Node on the way to the browser. This will automatically make the app into a recorder as well as streaming server. My good friend <a href="http://jchrisa.net/">Chris Anderson</a> was instrumental in helping me get up and running with Node and has been pointing me in the right direction for this Couch integration.
</p>
<p>
 Interested in these ideas? You can help! I&#8217;d especially love to work with someone with advanced Three.js skills who can help me figure out things like model importing and rigging. Let&#8217;s put some flesh on those skeletons&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://urbanhonking.com/ideasfordozens/2011/10/27/streaming-kinect-skeleton-data-to-the-web-with-node-js/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Making Things See Available for Early Release</title>
		<link>http://urbanhonking.com/ideasfordozens/2011/10/08/making-things-see-available-for-early-release/</link>
		<comments>http://urbanhonking.com/ideasfordozens/2011/10/08/making-things-see-available-for-early-release/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 19:02:10 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[kinect]]></category>

		<guid isPermaLink="false">http://urbanhonking.com/ideasfordozens/?p=517</guid>
		<description><![CDATA[I&#8217;m proud to announce that my book, Making Things See: 3D Vision with Kinect, Processing, and Arduino, is now available from O&#8217;Reilly. You can buy the book through O&#8217;Reilly&#8217;s Early Release program here. The Early Release program lets us get &#8230; <a href="http://urbanhonking.com/ideasfordozens/2011/10/08/making-things-see-available-for-early-release/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
 <a href="http://shop.oreilly.com/product/0636920020684.do"><img src="http://urbanhonking.com/ideasfordozens/files/2011/10/making_things_see_early_release.jpg" style="width:250px; float:left; margin:5px"></a>
</p>
<p>
I&#8217;m proud to announce that my book, <a href="http://shop.oreilly.com/product/0636920020684.do">Making Things See: 3D Vision with Kinect, Processing, and Arduino</a>, is now available from O&#8217;Reilly. You can buy the book through O&#8217;Reilly&#8217;s Early Release program <a href="http://shop.oreilly.com/product/0636920020684.do">here</a>. The Early Release program lets us get the book out to you while O&#8217;Reilly&#8217;s still editing and designing it and I&#8217;m still finishing up the last chapters. If you buy it now, you&#8217;ll get the preface and the first two chapters immediately and then you&#8217;ll be notified as additional chapters are finished and you&#8217;ll be able to download them for free until you have the final book. This way you get the immediate access to the book and I get your early feedback to help me find mistakes and improve it before final publication.
</p>
<p>
  So, what&#8217;s in these first two chapters? Chapter One provides an in-depth explanation of how the Kinect works and where it came from. It covers how the Kinect records the distance of the objects and people in front of it using an infrared projector and camera. It also explains the history of the open source efforts that made it possible to work with the Kinect in creative coding environments like Processing. After this technical introduction, the chapter includes interviews with seven artists and technologists who do inspiring work with the Kinect: <a href="http://kylemcdonald.net/">Kyle McDonald</a>, <a href="http://www.flight404.com/">Robert Hodgin</a>, <a href="http://www.kimchiandchips.com/">Elliot Woods</a>, <a href="http://www.blablablab.org/">blablablab</a>, <a href="http://nicolas.burrus.name/">Nicolas Burrus</a>, <a href="http://www.idav.ucdavis.edu/~okreylos/">Oliver Kreylos</a>, <a href="http://vimeo.com/amjcrawford">Alejandro Crawford</a>, and Phil Torrone and Limor Fried of <a href="http://adafruit.com/">Adafruit</a>. The idea for this section of the book was suggested to me by <a href="http://thesystemis.com/">Zach Lieberman</a> and it&#8217;s ended up being one of my favorites. Each one of the people I interviewed had a different set of interests and abilities that lead them to the Kinect and they&#8217;ve each used it in a radically different way. From Adafruit&#8217;s work initiating the project to create open drivers to Oliver Kreylos&#8217;s integration of the Kinect into his cutting edge virtual reality research to Alejandro Crawford&#8217;s use of the Kinect to create live visuals for the band MGMT, they each explore a different aspect of the creative possibilities unlocked by this new technology. Their diversity shows just how broad of an impact affordable depth cameras will potentially have going forwards.
</p>
<p>
  <img src="http://urbanhonking.com/ideasfordozens/files/2011/10/ex05_real_world_measurement.jpg" style="width:250px; float:right">
</p>
<p>
  Chapter Two begins the real work of learning to make interactive programs with the Kinect. It walks you through installing the SimpleOpenNI library for Processing and then shows you how to use that to access the depth image from the Kinect. We explore all kinds of aspects of the depth image and then use it to create a series of projects ranging from a virtual tape measure to a Minority Report-style app that lets you move photos around by waving your hands. Since the book as a whole is designed to be accessible to beginner programmers (and to help them &#8220;level up&#8221; to more advanced graphical skills), the examples in this chapter are all covered clearly and thoroughly to make sure that you understand fundamentals like how to loop through the pixels in an image.
</p>
<p>
  I&#8217;m looking forward to more chapters coming out in the coming weeks, including the next two on working with point clouds and using the skeleton data. I&#8217;m currently working closely with Brian Jepson, my editor at O&#8217;Reilly, as well as Dan Shiffman (an ITP professor and the author of the first Kinect library for Processing) and Max Rheiner (an artist and lecturer at Zurich University and the author of SimpleOpenNI) to prepare them for publication. I can&#8217;t thank Brian, Dan, and Max enough for their help on this project.
</p>
<p>
  I&#8217;m also excited to see what O&#8217;Reilly&#8217;s design team comes up with for a cover. The one pictured above is temporary. As soon as these new chapters (or the new cover) are available, I&#8217;ll announce it here.
</p>
<p>
  Enjoy the book! And please let me know your thoughts and comments so I can improve it during this Early Release period.</p>
]]></content:encoded>
			<wfw:commentRss>http://urbanhonking.com/ideasfordozens/2011/10/08/making-things-see-available-for-early-release/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Techniques of the Observer</title>
		<link>http://urbanhonking.com/ideasfordozens/2011/09/30/techniques-of-the-observer/</link>
		<comments>http://urbanhonking.com/ideasfordozens/2011/09/30/techniques-of-the-observer/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 05:08:40 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://urbanhonking.com/ideasfordozens/?p=500</guid>
		<description><![CDATA[Last night at ITP&#8217;s Theory Club (a group that meets bi-weekly to discourse on abstract topics of interest), I gave a presentation on Jonathan Crary&#8217;s Techniques of the Observer. I called the talk Techniques of the Observer: Vision and Technology &#8230; <a href="http://urbanhonking.com/ideasfordozens/2011/09/30/techniques-of-the-observer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
  Last night at ITP&#8217;s Theory Club (a group that meets bi-weekly to discourse on abstract topics of interest), I gave a presentation on Jonathan Crary&#8217;s <a href="http://www.amazon.com/Techniques-Observer-Modernity-Century-October/dp/0262531070">Techniques of the Observer</a>. I called the talk <a href="http://speakerdeck.com/u/gregab/p/techniques-of-the-observer-vision-and-technology-from-the-camera-obscura-to-opengl">Techniques of the Observer: Vision and Technology from the Camera Obscura to OpenGL</a>. It was based on one portion of the <a href="http://urbanhonking.com/ideasfordozens/2011/06/27/into-the-matrix-proposal-for-a-platform-studies-approach-to-opengl/">proposal for a Platform Studies book on OpenGL</a> I wrote over the summer. In <em>Techniques of the Observer</em>, Crary proposes a technique for characterizing a historical period&#8217;s ideas about vision by looking at its optical technologies and the metaphors they embody. The Camera Obscura tells you a lot about the Renaissance&#8217;s objective and universal geometric world view. Stereographs, phenakistoscopes, and film, all from the Modern era, couldn&#8217;t be more different from the Camera Obscura: they build the image inside the user&#8217;s mind using tricks of perception, hacks of the user&#8217;s sensorium. These resonate with a Modern world view of a series of independent subjectivities bound together into a consensual democracy.
</p>
<p>
  In that earlier blog post and in this talk I set out to extend this way of thinking to cover contemporary computer-generated imagery. For the last 20 or so years, our most contemporary images have been the product of computer simulations designed to emulate an objective Renaissance perspective, but convert it into something fungible enough to become interactive and, when we want it, fantastical. And now, right now, we&#8217;re beginning to connect a new set of powerful <a href="http://urbanhonking.com/ideasfordozens/2011/09/16/on-being-seen-by-the-machine/"> artificial eyes</a> to this simulation. We&#8217;re introducing something like the <a href="http://en.wikipedia.org/wiki/Reality_Effect">Reality Effect</a> but to an inhuman mind&#8217;s eye. I think this combination explains some of the new <a href="http://berglondon.com/blog/2011/05/13/sensor-vernacular/">Sensor Vernacular</a> aesthetic that many of us have been struggling to put our fingers on. It is comprised of the first works of a new regime of vision struggling to be born.
</p>
<p>
 I&#8217;ve uploaded my slides to <a href="http://speakerdeck.com">Speaker Deck</a>, a great new service that actually makes the process of uploading and viewing slide decks online simple and pleasurable. Here they are:
</p>
<p><script src="http://speakerdeck.com/embed/4e851b9b8e93d80053005189.js?size=preview"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://urbanhonking.com/ideasfordozens/2011/09/30/techniques-of-the-observer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing Drift</title>
		<link>http://urbanhonking.com/ideasfordozens/2011/09/28/announcing-drift/</link>
		<comments>http://urbanhonking.com/ideasfordozens/2011/09/28/announcing-drift/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 14:59:26 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Permanent Maintenance]]></category>

		<guid isPermaLink="false">http://urbanhonking.com/ideasfordozens/?p=507</guid>
		<description><![CDATA[I&#8217;m proud to announce the launch of Drift, a text editor for iPad I&#8217;ve made with Devin Chalmers. Drift is a simple text editor that stores your documents as GitHub Gists so that they&#8217;re always backed up and easily shared. &#8230; <a href="http://urbanhonking.com/ideasfordozens/2011/09/28/announcing-drift/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
    <img src="http://permanentmaintenance.com/images/drift_512.png" style="width:200px; float:left; margin: 10px" /></p>
<p>  I&#8217;m proud to announce the launch of <a href="http://permanentmaintenance.com">Drift</a>, a text editor for iPad I&#8217;ve made with <a href="http://generalspecificity.com/about.html">Devin Chalmers</a>. Drift is a simple text editor that stores your documents as <a href="http://gist.github.com">GitHub Gists</a> so that they&#8217;re always backed up and easily shared. Drift also makes it simple to collaborate with other GitHub users on anything from a TODO list to an essay. You can search for gists created by other Github users, create your own copy with your own changes, and then share a link to your version. Plus since all gists are git repos, you can always browse your history of changes to see and even restore old versions. Or you can use the app completely anonymously without ever creating a Github account and Drift will remember all of your gist URLs for you. We hope that its great for active Github users and simple for everyone.
</p>
<p>
  Drift is available <a href="http://itunes.apple.com/us/app/drift-editor/id454838524">in the App Store</a> now for $1.99. We&#8217;d love to hear your feedback on it.
</p>
<p>
  I built the original prototype for <a href="https://github.com/atduskgreg/drift">a desktop version of Drift using MacRuby</a> back in the summer of 2009. Then, last summer, Devin and I starting talking about reviving the project. In a startling short time, Devin had built an iPad version and we&#8217;d won an honorable mention at iPadDevCamp 2010. Around the start of this year we began working on cleaning Drift up for submission to the App Store. We commissioned a logo from the excellent <a href="http://runemadsen.com">Rune Madsen</a> and we did a few rounds of UI polishing. Over the summer we deemed Drift ready to go and submitted it to the App Store.
</p>
<p>
It was rejected. Repeatedly. Through five rounds of resubmission over more than two months. Over the course of these months we exchanged extensive phone calls and repeated emails with Apple&#8217;s App Store appeals board to try to discover why they were rejecting Drift. We eventually understood their full reasoning and were able to alter our app to gain approval. What we learned in the process will be relevant to many other app developers, especially those interested in building on top of existing web service APIs. Devin has written up a great comprehensive post explaining the situation: <a href="http://generalspecificity.com/2011/09/27/apple-apps-appeals-and-appeasement.html">Stuck in the Middle with Users: Apple, Apps, Appeals, &amp; Appeasement: the Story of Drift</a>. I highly recommend you read the whole thing, but here&#8217;s the <em>gist</em>:
</p>
<p>
  App Store guideline 11.13 requires that any purchases initiated from within an app go through Apple&#8217;s in-app purchasing mechanism. Apps are forbidden from linking out to an external website for the user to make a &#8220;purchases or subscription&#8221;. Drift was rejected because Apple interpreted our links to Github.com as an upsell to the paying Github service. This is true even though a free Github account is perfectly adequate for all of the API features used in Drift.
  </p>
<p>
  And here&#8217;s the disturbing take away message for other app developers: any link out to an external site that has a pay service can potentially be rejected under the rubric of 11.13. This could prevent the creation of a lot of apps. Mashing up APIs and building clever clients is at the heart of contemporary programming culture. As Devin puts it:</p>
<blockquote><p>
    One of the great App Store gold rushes was Twitter clients. What makes our undertaking, a Gist client, different from theirs? Well, largely it&#8217;s that GitHub has a business model, while Twitter doesn&#8217;t. Think of that: if Twitter charged a buck a month for their service, instead of aggregating your sentiments to sell to OmniCom and co. to turn into failed viral marketing campaigns, Loren Brichter might still be quietly churning out the most polished iPhone apps in the world; people might meet Craig Hockenberry and exclaim &#8220;oh, the Icon Factory! It&#8217;s so cool to meet a graphic designer at WWDC.&#8221;
  </p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://urbanhonking.com/ideasfordozens/2011/09/28/announcing-drift/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Today</title>
		<link>http://urbanhonking.com/ideasfordozens/2011/09/23/today/</link>
		<comments>http://urbanhonking.com/ideasfordozens/2011/09/23/today/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 04:26:14 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://urbanhonking.com/ideasfordozens/?p=491</guid>
		<description><![CDATA[Today. Today I saw for the first time a video (embedding disabled) that demonstrates a new technique that uses Functional Magnetic Resonance Imaging to detect the brain activity of a person and from that reproduce the visual image that person &#8230; <a href="http://urbanhonking.com/ideasfordozens/2011/09/23/today/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
  Today.
</p>
<p>
  Today I saw for the first time <a href="http://www.youtube.com/watch?v=nsjDnYxJ0bo">a video</a> (embedding disabled) that demonstrates a new technique that uses Functional Magnetic Resonance Imaging to detect the brain activity of a person and from that reproduce the visual image that person is seeing in real time. If you watch the video, the images on the left represent what the person was seeing, the images on the right represent what the system was able to reconstruct from the live brain scan. This could realistically be expected to work with dreams as well. Technology that (it must accurately be said) reads minds. (You&#8217;ll note that our brains really like faces.)
</p>
<p>
  Today <a href="http://www.quantumdiaries.org/2011/09/22/almost-superluminal-physics-chatter/">CERN announced</a> that it may have detected a particle moving faster than the speed of light. CERN&#8217;s OPERA particle detector (Oscillation Project with Emulsion-tRacking Apparatus) in the Italian Alps moved a neutrino at faster than the speed of light. If the discovery is verified it would be direct evidence that contradicts Einstein&#8217;s Special Theory of Relativity and would throw much of the understanding of the universe painstakingly built by 20th century physics into doubt.
</p>
<p>
  Today I spent most of my day printing out plastic objects using <a href="http://makerbot.com">a small 3D printer</a> that sits on my desk at school. I created many of these objects using <a href="http://www.xbox.com/kinect">a cheap toy 3D scanner</a>.
  </p>
<p>
  <img src="http://a.yfrog.com/img736/4576/9x0oj.jpg" style="width:400px" />
</p>
<p>
    Frequently, in my field, I have experiences that feel &#8220;futuristic&#8221;. New gadgets, gizmos and experiences that come my way that will one day be ubiquitous. But today was different. Everything that happened felt part of some new world. Not alien bits protruding in, but a whole new fabric. Still struggling mightily to make sense, even to itself, but having little relationship to the 20th century other than as history.
  </p>
]]></content:encoded>
			<wfw:commentRss>http://urbanhonking.com/ideasfordozens/2011/09/23/today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Being Seen by the Machine</title>
		<link>http://urbanhonking.com/ideasfordozens/2011/09/16/on-being-seen-by-the-machine/</link>
		<comments>http://urbanhonking.com/ideasfordozens/2011/09/16/on-being-seen-by-the-machine/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 08:34:39 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Art]]></category>

		<guid isPermaLink="false">http://urbanhonking.com/ideasfordozens/?p=494</guid>
		<description><![CDATA[The light edged into view through my tightly shut eyelids. Waves of stippled white pulsed down towards a corona of laser pink before spilling into a liquid bokeh of soft hexagons. I tried to relax my eyelids against the involuntary &#8230; <a href="http://urbanhonking.com/ideasfordozens/2011/09/16/on-being-seen-by-the-machine/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The light edged into view through my tightly shut eyelids. Waves of stippled white pulsed  down towards a corona of laser pink before spilling into a liquid bokeh of soft hexagons. I tried to relax my eyelids against the involuntary movements of my pupils, briefly seeing strands of eyelash catch the light when my eyes threatened to open. I could feel the light on my skin as heat even though I knew the LEDs were dead cool. It swept across the center of my vision to settle somewhere low and right, crystalline geometries floating where my sight settled back to black.</p>
<p>The intensity wavered momentarily. I felt the invisible presence of the tech moving soundlessly somewhere in front of me. I listened to the chorus of humming coming from the printer room, a cacophony of mistuned exhaust fans and above it someone whistling semi-tunelessly.</p>
<p>How long had the scan been underway? The tech took seemingly endless pauses, saying nothing, the light of the scanner off or at least off my face. Just as I&#8217;d gird myself to open my eyes, the light would flare up and I&#8217;d squeeze them shut feeling the dots on my face shift subtly, their edges peeling away from the peaks of folding flesh. I straightened my back and willed my facial muscles to stay still. The flickering of the light made my eyes jitter involuntarily beneath their lids in a parody of REM sleep.</p>
<p>The tech had explained that the scanner could find the calibration dots, knew where they should be. So even if I shifted position it would be able to reassemble my face. If I moved too much, he said, the scanner would fail to put my face back together, leaving it a blend between the two expressions. I fought the urge to grimace, arch my eyebrow, or feel the itch tickling the side of my mouth.</p>
<p>I listened to the muffled sound of the shop manager berating a junior employee about links on a website. The light shut off again with finality. I relaxed and felt the inside of my face unstick from my skull as the muscles slackened.</p>
<p>I opened my eyes.</p>
<p>The tech was standing with his back to me, hunched over a laptop suspended on a chest-high shelf, his broad back a vivid swath of red across my vision as I blinked my eyes clear. His short sleeves revealed faded tattoos on his right wrist as it hovered over the computer.</p>
<p>&#8220;It will take a few minutes to process,&#8221; he said. &#8220;I wasn&#8217;t setup for you and this is the first time we&#8217;ve tried the full resolution.&#8221;</p>
<p> I stood up and peered past his shoulder at the screen. Thin strokes outlined a black cube over a pale blue background. The cube enclosed what looked like a picture of my face in three-quarter profile. My skin was rubbery and dead, shiny with flat reflections from a light that seemed to press in from all sides. It was mottled with what looked like lesions where the system had failed to fully fold the tracking dots back into the surrounding texture. A death mask.</p>
<p>The tech tilted my head down, bringing my forehead into closer view. At the hairline my forehead dissolved into a skerry of varicolored slashes, the lines of data from the laser forming a riotous coastline against the calm blue below. The tech toggled the texture on and off. Without it, my head was reduced to a dully gray, revealing the raw geometry. He rotated and probed as he ran various operations designed to close the thousands of small holes in my neck, whose lower reaches sprouted enough extending tendrils to make the whole assemblage resemble the lost android head of Philip K. Dick. My cheeks revealed a distorting ripple that the tech smoothed with a virtual brush.</p>
<p>Finishing cleanup operations the tech demonstrated how his new software could shell my head &#8212; expanding it from a volumeless surface into a thin solid. With some of the most fragile fringes paired away, this could even be printed in powder or resin by one of the humming behemoths in the next room. Samples of prints littered the shelves around the office: intricate assemblages in honey-colored translucent resin, a planetary gear and a working wrench in a strangely heavy dark dray plastic, and a few small heads and insects in the gleaming white of the powder printer.</p>
<p>Imagining my shelled face printed in this last material completed its imaginary transformation into a death mask. I could see the object like something out of Greek ritual, the third theatrical mask after comedy and tragedy: mundanity.</p>
<p>After a few more minutes at the controls, which for the first time in the session he punctuated with polite chatter about the sudden storm outside, the tech finished his work. He handed me back my key drive with the results of the scan. The full geometry both cooked and raw. The colored texture file which un-peeled the sides of my face to lay flat, like the skin of a Yakuza gangster mounted to display its tattoos in the Tokyo University museum.</p>
<p>I took the drive, thanked him, and turned to leave. A few steps on, I stopped at the door and looked back, suddenly confused, possessed by a strong sensation that I was somehow shoplifting, that I&#8217;d forgotten to pay some unasked cost. The tech disappeared around a sterile mounting table and back into his office, out of view. I turned and continued out and down towards the street. I pushed through a throng of students and out towards the rotating doors. I felt light, sure I&#8217;d lost something, but clueless as to what.</p>
<p>
    <em>Note: this brief story attempts to describe an experience I had earlier this week having my face scanned with the new ZScanner 700 CX 24-bit color laser scanner at NYU&#8217;s Advanced Media Studio. Below I present a number of pictures captured in the course of that experience. While I think these images have a powerful visual impact, part of what I wanted to capture in the story was the profound non-visual nature of the experience. It was an experience not of seeing, but of being seen. Hence my decision to present these images at the bottom of this post rather than interspersed throughout. There&#8217;s an increasing body of writing that looks at these <a href="http://new-aesthetic.tumblr.com">New Aesthetic</a> or <a href="http://berglondon.com/blog/2011/08/03/the-robot-readable-world/">Robot-Readable World</a> images in order to analyze their visual qualities in an attempt to understand how these new seeing technologies picture us. Here instead I wanted to capture an intimate experience of being the conscious subject of this new form of vision &#8212; in this case even when our eyes are literally closed in the process. I found the experience simultaneously meditative, reflective, and mildly alienating. I hope this piece of writing communicates some sense of that. Enjoy the pictures. I do.</em>
  </p>
<p>
    <a href="http://www.flickr.com/photos/unavoidablegrain/6145257661/" title="Head scan with photo texture by atduskgreg, on Flickr"><img src="http://farm7.static.flickr.com/6066/6145257661_24083c5f21.jpg" width="405" height="500" alt="Head scan with photo texture"></a>
  </p>
<p>
    <a href="http://www.flickr.com/photos/unavoidablegrain/6143091120/" title="IMG_1057 by atduskgreg, on Flickr"><img src="http://farm7.static.flickr.com/6206/6143091120_956a049c98.jpg" width="500" height="375" alt="IMG_1057"></a>
  </p>
<p>
    <a href="http://www.flickr.com/photos/unavoidablegrain/6142536903/" title="IMG_1054 by atduskgreg, on Flickr"><img src="http://farm7.static.flickr.com/6198/6142536903_975552ff13.jpg" width="375" height="500" alt="IMG_1054"></a>
  </p>
<p>
    <a href="http://www.flickr.com/photos/unavoidablegrain/6143089610/" title="IMG_1053 by atduskgreg, on Flickr"><img src="http://farm7.static.flickr.com/6162/6143089610_2803ae5c8b.jpg" width="375" height="500" alt="IMG_1053"></a>
  </p>
<p>
    <a href="http://www.flickr.com/photos/unavoidablegrain/6143078366/" title="IMG_1044 by atduskgreg, on Flickr"><img src="http://farm7.static.flickr.com/6192/6143078366_fb76f58480.jpg" width="500" height="375" alt="IMG_1044"></a>
  </p>
]]></content:encoded>
			<wfw:commentRss>http://urbanhonking.com/ideasfordozens/2011/09/16/on-being-seen-by-the-machine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.628 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-17 18:36:30 -->
<!-- Compression = gzip -->
