<?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>How I Stopped Worrying and Learned to Love the Blog &#187; Uncategorized</title>
	<atom:link href="http://www.ckundo.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ckundo.com</link>
	<description>Explorations in art and technology by Cameron Cundiff</description>
	<lastBuildDate>Sun, 05 Feb 2012 01:22:30 +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>Stormpocalypse</title>
		<link>http://www.ckundo.com/2012/02/stormpocalypse/</link>
		<comments>http://www.ckundo.com/2012/02/stormpocalypse/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 22:56:03 +0000</pubDate>
		<dc:creator>cameron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ckundo.com/?p=786</guid>
		<description><![CDATA[When the power goes out in your neighborhood you want to know the scope and time to recovery. This data is available but not very transparent or accessible. Enter Stormpocalypse. Stormpocalypse sends SMS alerts and Twitter updates with number of reported NYC outages along with estimated time of recovery. It does this through consuming a [...]]]></description>
			<content:encoded><![CDATA[<p>When the power goes out in your neighborhood you want to know the scope and time to recovery. This data is available but not very transparent or accessible. Enter Stormpocalypse.</p>
<p>Stormpocalypse sends SMS alerts and Twitter updates with number of reported NYC outages along with estimated time of recovery. It does this through consuming a <a href="http://apps.coned.com/stormcenter_external/default.html">Con Edison outage feed</a> and uses the Twilio and Twitter APIs to broadcast.</p>
<p>I&#8217;ve created a ruby gem for other developers to create their own apps using the Con Ed feeds: <a href="https://github.com/ckundo/coned/">https://github.com/ckundo/coned/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ckundo.com/2012/02/stormpocalypse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Portraits</title>
		<link>http://www.ckundo.com/2010/08/twitter-portraits/</link>
		<comments>http://www.ckundo.com/2010/08/twitter-portraits/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 17:51:37 +0000</pubDate>
		<dc:creator>cameron</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ckundo.com/?p=651</guid>
		<description><![CDATA[I&#8217;m working on a new series of paintings I&#8217;m calling Twitter Portraits. They are small acrylic painting based on the profile pics of people I&#8217;m following on Twitter. I chose Twitter because it was right in front of me while at my desk getting ready to paint, and because I&#8217;m inundated with it, glancing at it [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on a new series of paintings I&#8217;m calling Twitter Portraits. They are small acrylic painting based on the profile pics of people I&#8217;m following on Twitter. I chose Twitter because it was right in front of me while at my desk getting ready to paint, and because I&#8217;m inundated with it, glancing at it much of the day. I don&#8217;t have any plans for the series, I&#8217;m just going to continue with it and see where it takes me.</p>
<p><object width="500" height="400"><param name="flashvars" value="offsite=true&#038;lang=en-us&#038;page_show_url=%2Fphotos%2Fcameroncundiff%2Fsets%2F72157624392237943%2Fshow%2F&#038;page_show_back_url=%2Fphotos%2Fcameroncundiff%2Fsets%2F72157624392237943%2F&#038;set_id=72157624392237943&#038;jump_to="></param><param name="movie" value="http://www.flickr.com/apps/slideshow/show.swf?v=71649"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/slideshow/show.swf?v=71649" allowFullScreen="true" flashvars="offsite=true&#038;lang=en-us&#038;page_show_url=%2Fphotos%2Fcameroncundiff%2Fsets%2F72157624392237943%2Fshow%2F&#038;page_show_back_url=%2Fphotos%2Fcameroncundiff%2Fsets%2F72157624392237943%2F&#038;set_id=72157624392237943&#038;jump_to=" width="500" height="400"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ckundo.com/2010/08/twitter-portraits/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bridge into Beacon</title>
		<link>http://www.ckundo.com/2010/02/bridge-into-beacon/</link>
		<comments>http://www.ckundo.com/2010/02/bridge-into-beacon/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 00:39:03 +0000</pubDate>
		<dc:creator>cameron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ckundo.com/?p=548</guid>
		<description><![CDATA[On Tuesday I spent the day in Beacon, NY for thesis research. Beacon is probably best known for the Dia Foundation, just adjacent to the Beacon stop on the Metro North, but I discovered that Beacon is also host to a burgeoning cultural scene and home to numerous NYC expats. While there I met with Scott [...]]]></description>
			<content:encoded><![CDATA[<p>On Tuesday I spent the day in Beacon, NY for thesis research. Beacon is probably best known for the <a href="http://www.diabeacon.org/">Dia Foundation</a>, just adjacent to the Beacon stop on the Metro North, but I discovered that Beacon is also host to a <a href="http://www.nytimes.com/2009/03/29/nyregion/westchester/29Rtownwe.html">burgeoning cultural scene</a> and home to numerous NYC expats.</p>
<div id="attachment_557" class="wp-caption alignnone" style="width: 430px"><a href="http://www.ckundo.com/wp-content/uploads/2010/02/beacon.jpg"><img class="size-full wp-image-557 " title="beacon" src="http://www.ckundo.com/wp-content/uploads/2010/02/beacon.jpg" alt="" width="420" height="273" /></a><p class="wp-caption-text">Susan Stava for The New York Times</p></div>
<p><img class="size-medium wp-image-555 alignleft" title="beahive_logo" src="http://www.ckundo.com/wp-content/uploads/2010/02/beahive_logo-300x125.gif" alt="" width="168" height="70" />While there I met with Scott Tillitt of <a href="http://beahivebeacon.com/">BEAHIVE</a> - a coworking space with a vision to serve the local community &#8211; and Dan Weise of <a href="http://www.openspacebeacon.com">Open Space Gallery</a>. Both Scott and Dan are of the &#8220;NoBro&#8221; (North Brooklyn) contingency, and were sympathetic to my ideas and interests around <a href="http://www.ckundo.com/2010/02/hybrid-communities/">Hybrid Communities</a>. In short, there is a space in Beacon for a collaboration.</p>
<div id="attachment_562" class="wp-caption alignnone" style="width: 452px"><a href="http://www.ckundo.com/wp-content/uploads/2010/02/beacon2.jpg"><img class="size-large wp-image-562   " title="beacon2" src="http://www.ckundo.com/wp-content/uploads/2010/02/beacon2-1024x748.jpg" alt="" width="442" height="323" /></a><p class="wp-caption-text">The Beacon Triad (from left to right) - Main Street, Metro North, and Dia</p></div>
<p>Specifically, I&#8217;ve been considering a way to collaborate with the community to make an effort to bring in new visitors to Beacon, especially those already coming to the Dia (most of whom it seems do not make it past the Foundation during their visit). Hopefully, through a joint effort with BEAHIVE and the <a href="http://www.beaconcitizen.com/">Beacon Citizen&#8217;s Network</a> (a social network of Beacon residents), we can create even stronger community within Beacon through shared interest, while catalyzing the nascent cultural revival that is happening there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ckundo.com/2010/02/bridge-into-beacon/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hybrid Communities: Etsy and the Apocalypse</title>
		<link>http://www.ckundo.com/2010/02/hybrid-communities/</link>
		<comments>http://www.ckundo.com/2010/02/hybrid-communities/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 03:45:23 +0000</pubDate>
		<dc:creator>cameron</dc:creator>
				<category><![CDATA[Communities]]></category>
		<category><![CDATA[Thesis]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ckundo.com/?p=532</guid>
		<description><![CDATA[I was telling a friend about my thesis direction and he made an interesting observation: post-apocalyptic scenarios make problem solving easy. This is because it creates a clear set of constraints and eliminates many of the complexities of our current way of life. Hearing this, I realized that perhaps I&#8217;ve been leaning too much towards [...]]]></description>
			<content:encoded><![CDATA[<p>I was telling a friend about my thesis direction and he made an interesting observation: post-apocalyptic scenarios make problem solving easy. This is because it creates a clear set of constraints and eliminates many of the complexities of our current way of life. Hearing this, I realized that perhaps I&#8217;ve been leaning too much towards Doomsday and not focusing on present-day.</p>
<div id="attachment_537" class="wp-caption alignnone" style="width: 490px"><a href="http://www.ckundo.com/wp-content/uploads/2010/02/fallout-3-ss-261.jpg"><img class="size-full wp-image-537 " title="fallout-3-ss-26" src="http://www.ckundo.com/wp-content/uploads/2010/02/fallout-3-ss-261.jpg" alt="" width="480" height="270" /></a><p class="wp-caption-text">Fallout 3, a favorite video game of mine</p></div>
<p>My new approach is to take the principals of resilient communities, specifically the self-sustaining qualities, and augment them with the resources that global and national infrastructures offer. I&#8217;m calling this approach &#8220;Hybrid Communities&#8221;. There is a clear analogy here with hybrid vehicles like the Toyota Prius, which operates on battery power when it can, but fires up the engine when it needs to.</p>
<p><a href="http://www.ckundo.com/wp-content/uploads/2010/02/cupcake-cnc-final.jpg"><img class="alignright size-full wp-image-539" title="cupcake-cnc-final" src="http://www.ckundo.com/wp-content/uploads/2010/02/cupcake-cnc-final.jpg" alt="" width="160" height="240" /></a>Some communities are leaning towards a hybrid model already, at least in production. In Brooklyn for example, I can get locally grown produce at my local CSA, buy a handmade knitted cap down the street. These are pretty standard features of resilient communities. It gets really interesting when I can <a href="http://blog.makerbot.com/2009/09/12/better-living-with-makerbot-episode-1-kitchen-lamp/">build a kitchen lamp with a MakerBot</a> at <a href="http://www.nycresistor.com/">NYC Resistor</a>, or sell that knitted cap on <a href="http://www.etsy.com/search_results.php?search_type=handmade&amp;search_query=knitted+cap&amp;ref=auto">Etsy</a> (also in Brooklyn). These latter examples facilitate local production by leveraging global goods and services.</p>
<p>What this means for my work is that I will assume existing infrastructure (power, transportation, education, communications) and use use that to leverage the effects of local efforts.</p>
<p>Some parting thoughts:</p>
<ul>
<li>Could I sell the kitchen lamp on Etsy?</li>
<li>Is the term &#8220;Agile Communities&#8221; a better way to describe what I&#8217;m talking about?</li>
<li>see Wired Magazine&#8217;s <a href="http://www.wired.com/magazine/2010/01/ff_newrevolution">recent article</a> for more details on desktop manufacturing.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ckundo.com/2010/02/hybrid-communities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standalone WiFi Application Hubs</title>
		<link>http://www.ckundo.com/2010/02/standalone-application-hubs/</link>
		<comments>http://www.ckundo.com/2010/02/standalone-application-hubs/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 21:42:53 +0000</pubDate>
		<dc:creator>cameron</dc:creator>
				<category><![CDATA[Communities]]></category>
		<category><![CDATA[Thesis]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ckundo.com/?p=525</guid>
		<description><![CDATA[Continuing on my foray into resilient communities via local community tech hubs, I&#8217;ve begun thinking about extreme scenarios. Imagine a community with limited power and little or no internet connectivity; standard hosted platforms for commerce and communications &#8211; Ning, Twitter, Etsy, Facebook, Gmail, etc &#8211; would cease to be effective. It is possible, however, to [...]]]></description>
			<content:encoded><![CDATA[<p>Continuing on my foray into resilient communities via local community tech hubs, I&#8217;ve begun thinking about extreme scenarios. Imagine a community with limited power and little or no internet connectivity; standard hosted platforms for commerce and communications &#8211; Ning, Twitter, Etsy, Facebook, Gmail, etc &#8211; would cease to be effective. It is possible, however, to recreate some of these services on a hyper local level using open-source tools and inexpensive hardware. Specifically, I&#8217;ve been looking at using <a href="http://www.plugcomputer.org/index.php">plug computers</a> as networked application hubs that can be extended by <a href="https://www.open-mesh.com/store/categories.php?category=Who-is-&quot;Open%252dMesh&quot;%3F">open-mesh</a> wifi routers.</p>
<p><a href="http://www.ckundo.com/wp-content/uploads/2010/02/sheeva.jpg"><img class="alignnone size-full wp-image-526" title="sheeva" src="http://www.ckundo.com/wp-content/uploads/2010/02/sheeva.jpg" alt="" width="200" height="155" /></a><a href="http://www.ckundo.com/wp-content/uploads/2010/02/openmesh.jpg"><img class="alignnone size-full wp-image-528" title="openmesh" src="http://www.ckundo.com/wp-content/uploads/2010/02/openmesh.jpg" alt="" width="99" height="120" /></a></p>
<p>The plug computer is a mini linux server, meaning it can host website, databases, and applications. The open-mesh routers can then extend a mesh wifi network, making the shared applications available to the community.</p>
<p>Perhaps most intriguing aspects of this solution are the low cost and high portability/configurability. The hardware infrastructure can accomplished at under $200, depending on the desired network range (server is $100 and the routers are $30 each), and they could come already setup with the required (open-source) software, including pre-configured applications. Because the software is not proprietary or hardware specific, it could be easily distributed and modified. The hardware itself is componentized with a small form factor, so it too would be highly portable and configurable.</p>
<p>Lowering the technical barrier to setup would be critical to adoption, so I&#8217;m exploring what software and applications to include in a default package, how much documentation to include, and what pre-configured options to use in order to mitigate the time and cognitive overhead required to get a community network up and running.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ckundo.com/2010/02/standalone-application-hubs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Breathing Tree</title>
		<link>http://www.ckundo.com/2008/11/breathing-tree/</link>
		<comments>http://www.ckundo.com/2008/11/breathing-tree/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 21:28:35 +0000</pubDate>
		<dc:creator>cameron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.cameroncundiff.com/?p=163</guid>
		<description><![CDATA[Nobu and I are creating a collaborative game that uses volume from microphones to spur the growth and fruition of a virtual tree. The game highlights the value of cooperation and participation in environmental efforts. revision: Blowing as input has been dropped in favor of a more intuitive interaction. Input is now someone brushing his/her [...]]]></description>
			<content:encoded><![CDATA[<p>Nobu and I are creating a collaborative game that uses volume from microphones to spur the growth and fruition of a <a title="recursive tree" href="http://openprocessing.org/visuals/?visualID=665" target="_blank">virtual tree</a>. The game highlights the value of cooperation and participation in environmental efforts.</p>
<p><em>revision: Blowing as input has been dropped in favor of a more intuitive interaction. Input is now someone brushing his/her hand over a patch of grass with embedded motion sensor or photocells. Game aspect will be augmented by a timer in the form of the cycle of the sun in the background, and &#8220;high scores&#8221; in the form of memory of past trees in the background of the viz.</em></p>
<p>Prototype Code (uses stereo headphones as input):</p>
<p><span id="more-163"></span></p>
<p>//Breathing Tree<br />
//by Cameron Cundiff and Nobu Nakaguchi<br />
import ddf.minim.*;<br />
import processing.serial.*;     // import the Processing serial library</p>
<p>//Bubble object<br />
class Being {<br />
float redVal;<br />
float greenVal;<br />
float blueVal;<br />
float alphaVal;<br />
float xloc;<br />
float yloc;<br />
int age;<br />
boolean left;<br />
boolean right;<br />
boolean center;<br />
boolean isPregnant;<br />
boolean isAlive;<br />
int progeny;<br />
int gestation;<br />
float speed = 2;<br />
char side;</p>
<p>Being(float xloc_, float yloc_, char side_) {</p>
<p>side = side_;</p>
<p>if(side == &#8216;L&#8217; || side == &#8216;R&#8217;) {<br />
redVal = 255;<br />
greenVal = 40;<br />
blueVal = 100;<br />
alphaVal = 255;<br />
}</p>
<p>else if(side == &#8216;C&#8217;) {<br />
redVal = 50;<br />
greenVal = 255;<br />
blueVal = 0;<br />
alphaVal = 255;<br />
}</p>
<p>isAlive = true;</p>
<p>gestation = 0;<br />
isPregnant = false;</p>
<p>xloc = xloc_;<br />
yloc = yloc_;<br />
age = 0;<br />
}</p>
<p>void wander(float speed_) {<br />
xloc += random(-speed_,speed_);<br />
yloc += random(-speed_,speed_);<br />
}</p>
<p>void incrementValues() {<br />
age++;<br />
redVal -= 20;<br />
if(alphaVal &gt; 30) {<br />
alphaVal&#8211;;<br />
}<br />
}</p>
<p>void rest() {<br />
isPregnant = true;<br />
}</p>
<p>void checkAge() {<br />
if(age &gt; maxAge * 5) {<br />
isAlive = false;<br />
}<br />
}</p>
<p>void drawMe() {<br />
noStroke();<br />
fill(redVal, greenVal, blueVal, alphaVal);<br />
ellipse(xloc, yloc, 5, 5);<br />
wander(speed);<br />
}</p>
<p>}</p>
<p>//Managing class<br />
class World {</p>
<p>//instantiate objects<br />
void spawn(int num, char side) {</p>
<p>for (int i = 0; i &lt; num; i++) {</p>
<p>if(side == &#8216;L&#8217;) {<br />
bubbles.add(new Being(leftPos, height/2, &#8216;C&#8217;));<br />
}<br />
else if(side == &#8216;R&#8217;) {<br />
bubbles.add(new Being(rightPos, height/2, &#8216;C&#8217;));<br />
}</p>
<p>else if(side == &#8216;C&#8217;) {<br />
bubbles.add(new Being(centerPos, height/2, &#8216;C&#8217;));<br />
}</p>
<p>}<br />
}</p>
<p>//multiply at location<br />
void procreate(Being being1, Being being2) {<br />
Being b1 = being1;<br />
Being b2 = being2;<br />
Being b3 = new Being(b1.xloc + random(-5,5), b1.yloc + random(-5,5), &#8216;C&#8217;);<br />
bubbles.add(b3);<br />
b1.isPregnant = true;<br />
b1.progeny++;<br />
b2.progeny++;</p>
<p>}</p>
<p>//look for mate<br />
void scan(Being h_) {<br />
if(h_.age &lt; consentAge*10 || h_.progeny &gt; maxChildren) {<br />
// do nothing<br />
}<br />
else if(h_.isPregnant) {</p>
<p>if(h_.gestation &lt; gestationPeriod * 10) {<br />
h_.gestation++;<br />
}<br />
else {<br />
h_.isPregnant = false;<br />
}<br />
}<br />
else {<br />
for(int i=0; i&lt;bubbles.size(); i++) {<br />
for(int j=0; j&lt;bubbles.size(); j++) {<br />
if (i != j) {<br />
Being b1 = (Being) bubbles.get(i);<br />
Being b2 = (Being) bubbles.get(j);<br />
//check proximity<br />
if(dist(b1.xloc, b1.yloc, b2.xloc, b2.yloc) &lt; territory &amp;&amp; b1.side != b2.side) {<br />
if(random(1) &gt; chanceToScore) {<br />
procreate(b1, b2);<br />
}<br />
}<br />
}<br />
}<br />
}<br />
}<br />
}<br />
}</p>
<p>Minim minim;<br />
AudioInput in;</p>
<p>int consentAge = 16; //can vary<br />
int maxAge = 2000; //chance to die before this value. increment based on population size, size life expectancy should increase with the advent of techn<br />
float gestationPeriod = .75; //fixed to 9 months, with a 2 week buffer<br />
float territory = 15;<br />
int maxChildren = 2;//inverse to population size<br />
//int maxHumans = 1000;//for debugging<br />
float chanceToScore = .99;//inverse to population size. Fewer options equals better chance to score!</p>
<p>float leftPos;<br />
float rightPos;<br />
float centerPos;</p>
<p>color c1 = color(0, 0, 0);<br />
boolean isLoud = false;</p>
<p>ArrayList bubbles = new ArrayList();<br />
World bigBrother = new World();</p>
<p>void setup(){<br />
size(400, 400, P3D);</p>
<p>leftPos = width/4;<br />
rightPos = width &#8211; width/4;<br />
centerPos = width/2;</p>
<p>// always start Minim before you do anything with it<br />
minim = new Minim(this);<br />
minim.debugOn();<br />
// get a line in from Minim, default bit depth is 16<br />
in = minim.getLineIn(Minim.STEREO, 16);<br />
}//end setup</p>
<p>void draw(){</p>
<p>stroke(255);<br />
smooth();</p>
<p>background(c1);</p>
<p>float leftVal = 0.0;<br />
float rightVal = 0.0;</p>
<p>int multiplier = 100000;</p>
<p>for(int i = bubbles.size()-1; i &gt;= 0; i&#8211;) {<br />
Being h = (Being) bubbles.get(i);<br />
if (!h.isAlive) {<br />
bubbles.remove(i);<br />
}<br />
}</p>
<p>for(int i = bubbles.size()-1; i &gt;= 0; i&#8211;) {<br />
Being h = (Being) bubbles.get(i);<br />
h.drawMe();<br />
h.incrementValues();<br />
h.checkAge();<br />
}</p>
<p>for(int i = 0; i &lt; in.bufferSize() &#8211; 1; i++) {</p>
<p>leftVal = in.left.get(i)*multiplier;<br />
rightVal = in.right.get(i)*multiplier;</p>
<p>float n = abs(in.mix.get(i))*multiplier;</p>
<p>bigBrother.spawn(int(leftVal/100), &#8216;L&#8217;);<br />
bigBrother.spawn(int(rightVal/100), &#8216;R&#8217;);</p>
<p>println(n);<br />
}//end for</p>
<p>}//end draw</p>
<p>void stop()<br />
{<br />
// always close Minim audio classes when you are done with them<br />
in.close();<br />
minim.stop();</p>
<p>super.stop();<br />
}//end stop</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ckundo.com/2008/11/breathing-tree/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

