<?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, 17 Apr 2012 05:13:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Object-Oriented Sci-Fi: Harman&#8217;s Four Methods</title>
		<link>http://urbanhonking.com/ideasfordozens/2012/04/17/object-oriented-sci-fi-harmans-four-methods/</link>
		<comments>http://urbanhonking.com/ideasfordozens/2012/04/17/object-oriented-sci-fi-harmans-four-methods/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 05:13:25 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://urbanhonking.com/ideasfordozens/?p=551</guid>
		<description><![CDATA[The following is an excerpt from a talk by Graham Harman at the &#8220;Hello Everything&#8221; symposium. In it, Harman describes four methods for reversing common errors in failing to see objects. These methods are: counter-factuals, the hyperbolic method, simulation, and &#8230; <a href="http://urbanhonking.com/ideasfordozens/2012/04/17/object-oriented-sci-fi-harmans-four-methods/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The following is an excerpt from <a href="http://archive.org/details/IanBogostAndGrahamHarmanTalks">a talk by Graham Harman at the &#8220;Hello Everything&#8221; symposium</a>. In it, Harman describes four methods for reversing common errors in failing to see objects. These methods are: counter-factuals, the hyperbolic method, simulation, and falsification. Each of them is an imaginative strategy for revealing the withdrawn core of objects, the aspect of them that makes them real for Harman&#8217;s Object-Oriented Ontology.</p>
<p>As philosophical techniques these four methods are quite striking. Together they constitute a kind of science fictional approach to philosophical thinking; each advocates imagining the world as different from reality in order to explore the limit and meaning of that reality.</p>
<p>I reproduce these methods here because I think they are promising ingredients in a recipe for something like an Object-Oriented Aesthetics or artistic methodology. Like much good SF I find them to be rich compost for my own imaginings, in this case of a set of procedures for generating multimedia art that inhabits an Object-Oriented perspective.</p>
<p>Here&#8217;s Harman: </p>
<p>&quot;How do we reverse the error of seeing objects as events? We do that through counter-factuals. This is already a known method. You can imagine objects in different situations and imagine what the effects would be.[&#8230;]</p>
<p>&quot;Imagining Lincoln in ancient Rome. How might he have played out there? Imagine a middle east with an Iranian atomic bomb or imagine an invaded Iraq instead. What are the possible things that would have happened in either of those cases. These help as allude to the thing as a style. Lincoln isn&#8217;t something that was confined to that historical period and that country but is something over and above that that could be translated.</p>
<p>&quot;There are computers that do this. They take On Top of Old Smokey and turn it into a Bach fugue.</p>
<p>&quot;Counter-factuals would be the first method for getting at the reality of things. The second would be what I call hyperbolic analysis, which I&#8217;ve used in three publications. This is reversing the error of impact. This is reversing the tendency to see things in terms of the effects they have. Instead of critique, also. I did this in <a href="http://www.springerlink.com/content/23n5332121wl1q41/">the article on deLanda</a>; I did this in <a href="http://www.amazon.com/Prince-Networks-Latour-Metaphysics-Anamnesis/dp/0980544068">the book on Latour</a>; and I did this in <a href="http://www.amazon.com/Quentin-Meillassoux-Philosophy-Graham-Harman/dp/0748640797">the book on Meillassoux</a> that hasn&#8217;t been published yet.</p>
<p>&quot;In order to look at the impact of these philosophers what I did is not critique mistakes that they&#8217;ve made, but imagine that they have total success. Imagine that they become the dominant philosopher on the planet 20, 30 years from now. And then you imagine what would still be missing. What would still be missing if Meillassoux was the dominant world philosopher in 2050. Don&#8217;t fuss around with detailed mistakes that he makes but grant him everything and then see what&#8217;s still missing.</p>
<p>&quot;If a philosophy can not survive the hyperbolic test then its less of a real philosophy, I would say. If you take some perfectly respectable minor article about some detailed point and then try to imagine that this is the most important philosophical text of the 21st century it can&#8217;t survive that test, obviously. It needs to be a work of a certain level, a certain comprehensiveness and that&#8217;s a more real philosophy. The more it can pass that sort of imaginative test the more real it is.</p>
<p>&quot;The other two are a little harder. What we&#8217;re trying to do is talk about the mutual independence of a thing and its pieces where the thing is not reducible to its pieces and the pieces are not reducible to the thing. And we actually do this all the time: we call this simulation &#8211; where you&#8217;re removing a thing from its pieces and simply trying to treat it as a formal model. You&#8217;re testing the behavior of a tornado or the 1976 Cincinnati Reds &#8211; drawing on my sports writing career &#8211; without having to reassemble all the physical pieces that made them those things, of course. You&#8217;re simply testing them to see what will happen.</p>
<p>&quot;And what I&#8217;ve realized while thinking about this is that paradoxically a thing is more real the more it can be simulated, the more it can be parodied. You can parody good poet better than bad ones, can&#8217;t you? If imitation is the sincerest form of flattery then simulation and parody are an even more sincere form. The less real something is the harder it is to simulate. It&#8217;s harder to simulate a bad writer, a bad philosopher than a good one.</p>
<p>&quot;In other words the style of a thing is not just an aggregate of all of the deeds it has done. The style of a thing is something over and above those that can be simulated. And so here I would say, against some Luddite principles, if there were truly a computer that was able to write new Shakespeare plays I think that would be outstanding. I think this would be a tribute to Shakespeare, not some kind of cheapening of his greatness. It would show that the style there is perhaps something more real than the mass of works that one person wrote.</p>
<p>&quot;And that leaves one last feature of pseudo-objects which is reducing them to sets, reducing them to pointing at an extensive number of things and saying that&#8217;s just a set it&#8217;s not a real thing with a unifying principle. We already saw that Rilke or earthquakes are substantial forms independent of their material components that can be removed and put on a computer and generate effects. What about the reverse? Is there a reverse situation where we can show those material components are real beneath all simulation?</p>
<p>&quot;Actually yes. The answer to this is accidents: when things happen that weren&#8217;t expected. In what sense are accidents a method? Well, all the time. This is what falsification is about in science. You&#8217;re finding accidental things that happen to a theory that weren&#8217;t expected, things that point to the independence of the material components from the model that you had of them. So that would be the forth method to use.</p>
<p>&#8220;So now there are four methods to use: counter-factuals, the hyperbolic method, simulation, and falsification. And you could say that the humanities tend to benefit more from the first two and the sciences from the latter, but that&#8217;s not necessarily the case. There are significant exceptions. And what this suggests to me is that if this way of setting out the different methods is valid, the division between the human and natural sciences is actually an imperfect approximation to the real fissure running through human knowledge, which has to do with the kind of knowledge that shows the independence of a thing from its pieces and the kinds that show its difference from it outer effects, which are not strictly identifiable with either the sciences or the humanities.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://urbanhonking.com/ideasfordozens/2012/04/17/object-oriented-sci-fi-harmans-four-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AI Unbundled</title>
		<link>http://urbanhonking.com/ideasfordozens/2012/04/15/ai-unbundled/</link>
		<comments>http://urbanhonking.com/ideasfordozens/2012/04/15/ai-unbundled/#comments</comments>
		<pubDate>Sun, 15 Apr 2012 20:09:53 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Art]]></category>

		<guid isPermaLink="false">http://urbanhonking.com/ideasfordozens/?p=558</guid>
		<description><![CDATA[Shaky (1966-1972), Stanford Research Institute&#8217;s mobile AI platform, and the Google Street View car. The project of Artificial Intelligence has undergone a radical unbundling. Many of its sub-disciplines such as computer vision, machine learning, and natural language processing have become &#8230; <a href="http://urbanhonking.com/ideasfordozens/2012/04/15/ai-unbundled/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://archive.computerhistory.org/resources/still-image/Robots/shakey.102635321.lg.jpg" style="width:250px; margin-right:10px; float:left" /></p>
<p><img src="http://images.thecarconnection.com/med/the-google-street-view-car_100311183_m.jpg" style="width:325px;" /></p>
<p><br style="clear:both" /></p>
<p><em><b>Shaky (1966-1972), Stanford Research Institute&#8217;s mobile AI platform, and the Google Street View car.</b> The project of Artificial Intelligence has undergone a radical unbundling. Many of its sub-disciplines such as computer vision, machine learning, and natural language processing have become real technologies that permeate our world. However the overall metaphor of an artificial human-like intelligence has failed. We are currently struggling to replace that metaphor with new ways of understanding these technologies as they are actually deployed.</em></p>
<p>At the end of the 1966 spring term, <a href="http://www.papert.org/">Seymour Papert</a>, a professor in MIT&#8217;s Computer Science and Artificial Intelligence Laboratory (CSAIL) initiated <a href="ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-100.pdf">the Summer Vision Project</a>, &#8220;an attempt to use our summer workers effectively in the construction of a significant part of a visual system&#8221; for computers. The problems Papert expected his students to overcome included &#8220;pattern recognition&#8221;, &#8220;figure-ground analysis&#8221;, &#8220;region description&#8221;, and &#8220;object identification&#8221;.</p>
<p>Papert had assigned a group of graduate students the task of solving computer vision as a summer homework assignment. He thought computer vision would make a good summer project because, unlike many other problems in the field of AI, &#8220;it can be segmented into sub-problems which allow individuals to work independently&#8221;. In other words, unlike &#8220;general intelligence&#8221;, &#8220;machine creativity&#8221;, and the other high-level problems in the AI program, computer vision seemed tractable.</p>
<p>Thirty five years later computer vision is a major sub-discipline of computer science with dozens of journals, hundreds of active researchers, and thousands of published papers. It&#8217;s a field that&#8217;s made substantial breakthroughs, particularly in the last few years. Many of its results are actively deployed in products you encounter every day, from <a href="http://www.face-rec.org/algorithms/PCA/jcn.pdf">Facebook&#8217;s face tagging</a> to <a href="http://www.cs.dartmouth.edu/~cs104/BodyPartRecognition.pdf">the Microsoft Kinect</a>. But I doubt any of today&#8217;s researchers would call any of the problems Papert set for his grad students &#8216;solved&#8217;.</p>
<p>Papert and his graduate students were part of an Artificial Intelligence group within CSAIL lead by John McCarthy and Marvin Minsky. McCarthy defined the group&#8217;s mission as &#8220;getting a computer to do things which, when done by people, are said to involve intelligence&#8221;. In practice, they translated this goal into a set of computer science disciplines such as computer vision, natural language processing, machine learning, document search, text analysis, and robotic navigation and manipulation.</p>
<p>Over the last generation, each of these disciplines underwent similar arcs of development as computer vision: slow painstaking progress for decades punctuated by rapid growth sometime in the last twenty years resulting in increasingly practical adoption and acculturation. However, as they developed they showed no tendency to become more like McCarthy and Minsky&#8217;s vision of AI. Instead they accumulated conventional human and cultural uses. Shaky became the Google Street View car and begat <a href="http://9-eyes.com/">9-eyes</a>. The <a href="http://www.w3.org/DesignIssues/Semantic.html">semantic web</a> became Twitter and Facebook and begat <A href="http://twitter.com/dogsdoingthings">@dogsdoingthings</a>.  Machine learning became Bayesian spam filtering and begat <a href="http://en.wikipedia.org/wiki/Flarf_poetry">Flarf poetry</a>.</p>
<p>
Now, looking back on them as mature disciplines, there&#8217;s little to be seen in these fields of their AI parentage. None of them seems to be on the verge of some Singularitarian breakthrough. Each of them is part of an ongoing historical process of technical and cultural co-evolution. Certainly these fields&#8217; cultural and technological development overlap and relate and  there&#8217;s a growing sense of them as some kind of <a href="http://new-aesthetic.tumblr.com">new cultural zeitgeist</a>, but, as <a href="http://longnow.org/seminars/02004/jun/11/the-singularity-your-future-as-a-black-hole/">Bruce Sterling has said</a>, AI feels like &#8220;a bad metaphor&#8221; for them as a whole. While these technologies had their birth in the AI project, the signature themes of AI &mdash; &#8220;planning&#8221;, &#8220;general intelligence&#8221;, &#8220;machine creativity&#8221;, etc. &mdash; don&#8217;t do much to describe the way we experience them in their daily deployment.</p>
<p>
What we need now is a new set of mental models and design procedures that address these technologies as they actually exist. We need a way to think of them as real objects that shape our world (in both its social and inanimate components) rather than as incomplete predecessors to some always-receding AI vision.
</p>
<p><video width="320" height="240" controls="controls"><br />
  <source src="http://www.frc.ri.cmu.edu/users/hpm/talks/Cart.1979/Cart.final.mov" type="video/mp4" /><br />
  Your browser does not support the video tag. <a href="http://www.frc.ri.cmu.edu/users/hpm/talks/Cart.1979/Cart.final.mov">watch here</a><br />
</video></p>
<p>We should see Shaky (and its cousin, <a href="http://www.stanford.edu/~learnest/cart.htm">the SAIL cart</a>, shown here) not as the predecessor not to <a href="http://www.youtube.com/watch?v=9MeaaCwBW28">the Terminator</a> but to Google&#8217;s self-driving car.</p>
<p><a href="http://www.flickr.com/photos/unavoidablegrain/7074530103/" title="Terminator mouth analysis by atduskgreg, on Flickr"><img src="http://farm8.staticflickr.com/7102/7074530103_b31ec5efd9.jpg" width="500" height="276" alt="Terminator mouth analysis"></a></p>
<p>Rather than personifying these seeing-machines, embodying them as big burly Republican governor-types, we should try to imagine how they&#8217;ll change our roads both for blind people like <a href="http://www.youtube.com/watch?v=cdgQpa1pUUE">Steve Mahan</a> here as well as for all of the street signs, concrete embankments, orange traffic cones, and overpasses out there.</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/cdgQpa1pUUE" frameborder="0" allowfullscreen></iframe></p>
<p>As I&#8217;ve written <a href="http://www.thecreatorsproject.com/blog/in-response-to-bruce-sterlings-essay-on-the-new-aesthetic#4">elsewhere</a> I believe that the New Aesthetic is the rumblings of us beginning to do just this: to think through these new technologies outside of their AI framing with a close attention to their impact on other objects as well as ourselves. Projects like <A href="http://cvdazzle.com">Adam Harvey&#8217;s CV Dazzle</a> are replacing the AI understanding of computer vision embodied by the Terminator HUD with one based on the actual internal processes of face detection algorithms.
</p>
<p>
Rather than trying to imagine how computers will eventually think, we&#8217;ve started to examine how they currently compute. The &#8220;Clink. Clank. Think.&#8221; of the famous Time Magazine cover of IBM&#8217;s Thomas Watson is becoming &#8220;Sensor. Pixel. Print.&#8221;</p>
<p>
<iframe src="http://player.vimeo.com/video/12774628" width="500" height="477" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
</p>
<p>
	<img src="http://plyojump.com/classes/images/computer_history/ibm_watson_time.jpg" width="500px" /></p>
]]></content:encoded>
			<wfw:commentRss>http://urbanhonking.com/ideasfordozens/2012/04/15/ai-unbundled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.frc.ri.cmu.edu/users/hpm/talks/Cart.1979/Cart.final.mov" length="6165799" type="video/quicktime" />
		</item>
		<item>
		<title>A Menagerie of CV Markers</title>
		<link>http://urbanhonking.com/ideasfordozens/2012/04/08/a-menagerie-of-cv-markers/</link>
		<comments>http://urbanhonking.com/ideasfordozens/2012/04/08/a-menagerie-of-cv-markers/#comments</comments>
		<pubDate>Sun, 08 Apr 2012 22:30:38 +0000</pubDate>
		<dc:creator>greg</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://urbanhonking.com/ideasfordozens/?p=541</guid>
		<description><![CDATA[This week, the net&#8217;s been exploding with responses to James Bridle&#8217;s work on the New Aesthetic. Bruce Sterling set the fuse for this particular conflagration with his Essay on the New Aesthetic in Wired. My own response, published in The &#8230; <a href="http://urbanhonking.com/ideasfordozens/2012/04/08/a-menagerie-of-cv-markers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This week, the net&#8217;s been exploding with responses to <a href="http://booktwo.org">James Bridle&#8217;s</a> work on the <a href="http://new-aesthetic.tumblr.com">New Aesthetic</a>. Bruce Sterling set the fuse for this particular conflagration with his <a href="http://www.wired.com/beyond_the_beyond/2012/04/an-essay-on-the-new-aesthetic/">Essay on the New Aesthetic</a> in Wired.</p>
<p>My own response, published in The Creator&#8217;s Project on Friday, was called <a href="http://www.thecreatorsproject.com/blog/in-response-to-bruce-sterlings-essay-on-the-new-aesthetic#4">What It&#8217;s Like to be a 21st Century Thing</a>. I tried to put NA in the context of <a href="http://en.wikipedia.org/wiki/Object-oriented_ontology">Object-Oriented Ontology</a> arguing that NA &#8220;consists of visual artifacts we make to help us imagine the inner lives of our digital objects and also of the visual representations produced by our digital objects as a kind of pigeon language between their inaccessible inner lives and ours.&#8221; This is an approach I&#8217;m excited about and plan to flesh out more here soon.</p>
<p>Today, though, I want to engage in a bit of OOO ontography and close-looking as a way of responding to what I thought was one of the more interesting takes on Sterling&#8217;s essay.</p>
<p>In his post <a href="http://revdancatt.com/2012/04/07/why-the-new-aesthetic-isnt-about-8bit-retro-the-robot-readable-world-computer-vision-and-pirates/">Why the New Aesthetic isn’t about 8bit retro, the Robot Readable World, computer vision and pirates</a>, Rev Dan Catt tries to address the 8-bit quality of much New Aesthetic visual work. Specifically, he&#8217;s trying to answer a criticism of NA as retro, a throwback to &#8220;the colors and 8 bit graphics of the 80s&#8221; as <a href="http://itunes.apple.com/us/app/twitter/id409789998">Tom Coates put it</a>.</p>
<p>For Catt that resemblance comes from the primitive state of computer vision today. &#8220;Computer vision isn’t very advanced, to exist with machines in the real world we need to mark up the world to help them see&#8221;, he says. In other words, the current limitations of computer vision algorithms require intentionally designed bold blocky 8-bit graphics for them to function. And therefore the markers we design to meet this requirement end up looking like primitive computer graphics, which resulted from similar technical limitations in the systems that produced them. As Catt says, &#8220;put another way, current computer vision can probably &#8216;see&#8217; computer graphics from around 20&#8211;30 years ago.&#8221;</p>
<p>In a conversation about this idea, <a href="http://kylemcdonald.net">Kyle McDonald</a> argued that Catt&#8217;s taking the comparison too far. While there is a functional comparison between the current state of computer vision and the state of computer graphics in the 80s, the actual markers we&#8217;re using in CV work today don&#8217;t much resemble 8-bit graphics aesthetically.</p>
<p>To explore this idea, Kyle and I decided to put together a collection of as many different kinds of markers as we could think of along with links to the algorithms and processes that create and track them (though I&#8217;m sure there are many we&#8217;ve missed &#8211; more contributions are welcome in the comments). It was our hope that such a collection might widen the New Aesthetic visual vocabulary by adding additional ingredients as well as focusing some attention on the actual computational techniques used to create and track these images. Since so many of us were raised looking at 8-bit video games and graphics I think it quite helps to look at the actual markers themselves in their surprising variety rather than just filing them away with Pitfall Harry&#8217;s rope, Mario&#8217;s mushroom, and Donkey Kong&#8217;s barrel, which we already know so well.</p>
<p>So, what do real CV markers actually look like? Browse the images and links below to see for yourself, but I&#8217;ll make a few quick general characterizations. There is a lot of high contrast black and white as well as stark geometry that emphasizes edges. However the grid that characterizes 8-bit images and games is nearly never kept fully in tact. Most of the marker designs are specifically trying to defeat repetition in favor of identifying a few specific features. Curves and circles are nearly as common as squares and grids.</p>
<p>I&#8217;d love to collect more technical links about the tracking techniques associated with each of these kinds of markers. So jump in with the comments if you&#8217;ve got suggestions.</p>
<style>
figcaption {
	display: none;
}
</style>
<h4 id="opencvcalibrationcheckerpatternforhomography"><a href="http://ashleymckay.com/ashleymckay/cms/?q=node/126">OpenCV calibration checker pattern for homography</a></h4>
<figure>
<img src="http://ashleymckay.com/ashleymckay/cms/sites/default/files/images/checker_pattern_7x4.gif" alt="opencv checkerboard" /></p>
<figcaption>opencv checkerboard</figcaption>
</figure>
<h4 id="reactivision"><a href="http://reactivision.sourceforge.net/">Reactivision</a></h4>
<figure>
<img src="http://reactivision.sourceforge.net/images/reactivision02.png" alt="reactivision" /></p>
<figcaption>reactivision</figcaption>
</figure>
<p>(Original paper: <a href="http://www.rossbencina.com/static/writings/Procams05-BencinaKaltenJorda.pdf">Improved Topological Fiducial Tracking in the reacTIVision System</a>)</p>
<h4 id="graphtracker"><a href="http://reactivision.sourceforge.net/">Graphtracker</a></h4>
<figure>
<img src="http://30.media.tumblr.com/tumblr_m26qkxCYba1rtufeuo1_400.png" alt="Graphtracker" /></p>
<figcaption>Graphtracker</figcaption>
</figure>
<p>(Original paper: <a href="http://homepages.cwi.nl/~robertl/articles/cag2007.pdf">Graphtracker: A topology projection invariant optical tracker</a>)</p>
<h4 id="runetags"><a href="http://www.youtube.com/watch?v=F4jdG7DJVSA">Rune Tags</a></h4>
<figure>
<img src="http://24.media.tumblr.com/tumblr_m26qrp9zj61rtufeuo1_250.png" alt="Rune Tags" /></p>
<figcaption>Rune tags</figcaption>
</figure>
<p>(Original paper: <a href="http://www.dsi.unive.it/~rodola/cvpr11-tag.pdf">RUNE-Tag: a High Accuracy Fiducial Marker with Strong Occlusion Resilience</a>)</p>
<h4 id="cornerdetectionforcalibration">Corner detection for calibration</h4>
<figure>
<img src="http://www.immersence.info/Content_Results/Photos/Photos%20results%20section/ETH_WP4_T4.5_M30.jpg" alt="corner detection" /></p>
<figcaption>corner detection</figcaption>
</figure>
<h4 id="dottrackingmarkers">Dot tracking markers</h4>
<figure>
<img src="http://www.williampolito.com/blog/images/trackers/medium_dot_trackers.jpg" alt="dot trackers" /></p>
<figcaption>dot trackers</figcaption>
</figure>
<h4 id="traditionalbarcodes">Traditional bar codes</h4>
<figure>
<img src="http://www.barcoding.com/images/Barcodes/code93.gif" alt="bar codes" /></p>
<figcaption>bar codes</figcaption>
</figure>
<h4 id="stackedbarcode">Stacked bar code</h4>
<figure>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b9/Codablock-F_Example.png/120px-Codablock-F_Example.png" alt="stacked bar code" /></p>
<figcaption>stacked bar code</figcaption>
</figure>
<h4 id="datamatrix2d"><a href="https://en.wikipedia.org/wiki/Data_Matrix">Data Matrix 2D</a></h4>
<figure>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Lorem_Ipsum.png/120px-Lorem_Ipsum.png" alt="Data Matrix 2D" /></p>
<figcaption>Data Matrix 2D</figcaption>
</figure>
<h4 id="textezcode">Text <a href="https://en.wikipedia.org/wiki/EZcode">EZCode</a></h4>
<figure>
<img src="https://upload.wikimedia.org/wikipedia/commons/9/99/EZcode.png" alt="Text EZCode" /></p>
<figcaption>Text EZCode</figcaption>
</figure>
<h4 id="dataglyphs">Data Glyphs</h4>
<figure>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/92/Dataglyph511140.png/120px-Dataglyph511140.png" alt="Data Glyphs" /></p>
<figcaption>Data Glyphs</figcaption>
</figure>
<h4 id="qrcodes">QR codes</h4>
<figure>
<img src="http://images.fastcompany.com/upload/m.fastcompany.com-qrcode.png" alt="qr code" /></p>
<figcaption>qr code</figcaption>
</figure>
<h4 id="customqrcodes">Custom QR codes</h4>
<figure>
<img src="http://ideasfactory.me/wp-content/uploads/2011/07/image3.png" alt="custom qr codes" /></p>
<figcaption>custom qr codes</figcaption>
</figure>
<figure>
<img src="http://www.elizabethtackett.com/i/DesignQRCodesWork.jpg" alt="custom qr rabbit" /></p>
<figcaption>custom qr rabbit</figcaption>
</figure>
<h4 id="microsofttagsakahighcapacitycolorbarcodes"><a href="http://tag.microsoft.com/home.aspx">Microsoft tags</a> aka <a href="https://en.wikipedia.org/wiki/High_Capacity_Color_Barcode">High Capacity Color Barcodes</a></h4>
<figure>
<img src="http://farm5.static.flickr.com/4092/5053792967_b1b3a99d2f.jpg" alt="microsoft tags" /></p>
<figcaption>microsoft tags</figcaption>
</figure>
<h4 id="maxicodes"><a href="https://en.wikipedia.org/wiki/MaxiCode">Maxi Codes</a></h4>
<figure>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b4/MaxiCode.svg/120px-MaxiCode.svg.png" alt="Maxi Codes" /></p>
<figcaption>Maxi Codes</figcaption>
</figure>
<h4 id="shortcodes"><a href="">Short Codes</a></h4>
<figure>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/7/7d/Shotcode.png/120px-Shotcode.png" alt="Short codes" /></p>
<figcaption>Short codes</figcaption>
</figure>
<h4 id="differentflavorsoffiducialmarkers">Different flavors of <a href="http://vision-cdc.csiro.au/changs/fiducial/node1.html">Fiducial Markers</a></h4>
<figure>
<img src="http://vision-cdc.csiro.au/changs/fiducial/img6.gif" alt="fiducial markers" /></p>
<figcaption>fiducial markers</figcaption>
</figure>
<figure>
<img src="http://valverl.files.wordpress.com/2010/09/fiducialmarkers.png" alt="fiducial marker" /></p>
<figcaption>fiducial marker</figcaption>
</figure>
<figure>
<img src="http://www.cim.mcgill.ca/~anqixu/images/ftag.jpg" alt="Ftag" /></p>
<figcaption>Ftag</figcaption>
</figure>
<figure>
<img src="http://www.keithlantz.net/wp-content/uploads/2011/04/fiducial.jpg" alt="fiducial" /></p>
<figcaption>fiducial</figcaption>
</figure>
<h4 id="pointlandmark"><a href="http://www.sciencedirect.com/science/article/pii/S0031320311003037">9-Point Landmark</a></h4>
<figure>
<img src="http://ars.els-cdn.com/content/image/1-s2.0-S0031320311003037-gr2.sml" alt="9-point landmark" /></p>
<figcaption>9-point landmark</figcaption>
</figure>
<h4 id="cantags"><a href="https://www.cl.cam.ac.uk/~acr31/cantag">Cantags</a></h4>
<figure>
<img src="https://www.cl.cam.ac.uk/~acr31/cantag/tags.png" alt="Cantag" /></p>
<figcaption>Cantag</figcaption>
</figure>
<h4 id="artrackingmarkerforaftereffects"><a href="http://ae.tutsplus.com/tutorials/production/downloadable-tracking-markers-ae-premium-download/">AR tracking marker for After Effects</a></h4>
<figure>
<img src="http://d3gphd0pfuxn95.cloudfront.net/470_markers/markers.jpg" alt="AR tracking marker" /></p>
<figcaption>AR tracking marker</figcaption>
</figure>
<h4 id="artagmarkers"><a href="http://www.artag.net/rev1.html">ARTag markers</a></h4>
<figure>
<img src="http://www.artag.net/panel_0_17.gif" alt="ar toolkit tracking markers" /></p>
<figcaption>ar toolkit tracking markers</figcaption>
</figure>
<h4 id="retro-reflectivemotioncapturemarkers">Retro-reflective motion capture markers</h4>
<figure>
<img src="http://www.mocaprus.ru/photos/DSC_8726.jpg" alt="motion capture markers" /></p>
<figcaption>motion capture markers</figcaption>
</figure>
<h4 id="hybridmarkerapproaches">Hybrid marker approaches</h4>
<figure>
<img src="http://www.icg.tugraz.at/Members/irschara/imgs/toverview.png" alt="hybrid" /></p>
<figcaption>hybrid</figcaption>
</figure>
]]></content:encoded>
			<wfw:commentRss>http://urbanhonking.com/ideasfordozens/2012/04/08/a-menagerie-of-cv-markers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<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>3</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>11</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>
	</channel>
</rss>

<!-- Dynamic page generated in 0.782 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-04-26 14:31:10 -->
<!-- Compression = gzip -->
