<?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>lithium flowers bloom &#187; Week2</title>
	<atom:link href="http://leejayxia.com/blog/tag/week2/feed/" rel="self" type="application/rss+xml" />
	<link>http://leejayxia.com/blog</link>
	<description>the weblog</description>
	<lastBuildDate>Sat, 15 May 2010 20:52:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Floating bubbles</title>
		<link>http://leejayxia.com/blog/floating-bubbles/</link>
		<comments>http://leejayxia.com/blog/floating-bubbles/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 07:34:46 +0000</pubDate>
		<dc:creator>L.J</dc:creator>
				<category><![CDATA[The Nature of Code]]></category>
		<category><![CDATA[bubble]]></category>
		<category><![CDATA[floating]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[nature of code]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[Spring 2009]]></category>
		<category><![CDATA[Week2]]></category>

		<guid isPermaLink="false">http://leejayxia.com/blog/?p=463</guid>
		<description><![CDATA[Assignment 2 for Nature of Code. Trying to simulate floating effect by creating gravity and buoyancy under the imaginative surface of water (in this case, the middle of the screen).  This is a practice of simulating the second Newton&#8217;s law by applying acceleration to the particle&#8217;s velocity other than directly changing the velocity or location. Play [...]]]></description>
			<content:encoded><![CDATA[<p>Assignment 2 for <em>Nature of Code</em>. Trying to simulate floating effect by creating gravity and buoyancy under the imaginative surface of water (in this case, the middle of the screen). </p>
<p>This is a practice of simulating the second Newton&#8217;s law by applying acceleration to the particle&#8217;s velocity other than directly changing the velocity or location.</p>
<p><a href="http://leejayxia.com/blog/wp-content/uploads/2009/02/noc_force.jpg" rel="lightbox[463]"><img class="alignnone size-medium wp-image-464" title="noc_force" src="http://leejayxia.com/blog/wp-content/uploads/2009/02/noc_force-198x300.jpg" alt="noc_force" width="198" height="300" /></a></p>
<p>Play applet at <a href="http://leejayxia.com/processing/noc_float/">http://leejayxia.com/processing/noc_float/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://leejayxia.com/blog/floating-bubbles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Machine Stops</title>
		<link>http://leejayxia.com/blog/the-machine-stops/</link>
		<comments>http://leejayxia.com/blog/the-machine-stops/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 07:35:29 +0000</pubDate>
		<dc:creator>L.J</dc:creator>
				<category><![CDATA[Communications Lab]]></category>
		<category><![CDATA[Fall 2008]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[Reading]]></category>
		<category><![CDATA[Week2]]></category>

		<guid isPermaLink="false">http://leejayxia.com/blog/?p=122</guid>
		<description><![CDATA[I&#8217;ve always been enjoying science fictions regarding man-machine relationship, in most cases through movies though. It&#8217;s undoubtedly amazing experience to read a story from 1909 which ironically indicated a real problem nowadays, that people are tied so much to the internet that traditional concept of privacy, relationship and trust are dramatically changing. Fortunately we are [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://leejayxia.com/blog/wp-content/uploads/2008/09/gurren-lagaan.jpg" rel="lightbox[122]"><img class="size-full wp-image-124 alignleft" title="Tengen Toppa Gurren Lagaan" src="http://leejayxia.com/blog/wp-content/uploads/2008/09/gurren-lagaan.jpg" alt="" width="399" height="225" /></a></p>
<p>I&#8217;ve always been enjoying science fictions regarding man-machine relationship, in most cases through movies though. It&#8217;s undoubtedly amazing experience to read a story from 1909 which ironically indicated a real problem nowadays, that people are tied so much to the internet that traditional concept of privacy, relationship and trust are dramatically changing. Fortunately we are not yet under the circumstances that we have to live underground and rely on the machine/computer to survive. We are thus not yet that desperate to trust machine more than human beings, most of the time we&#8217;re just using it to connect to people (and forget that we could physically contact them too). </p>
<p>The idea of machine ruling the world is nothing new now but I&#8217;m not sure whether it&#8217;s origining from this 1909 story. Strictly speaking in this story the machine is not even ruling the world. The &#8220;Central Committee&#8221; keeps being mentioned that it feels like it&#8217;s still managed by men. It&#8217;s just in this story people love machines so much that they accept it as dictator or even the divine. &#8220;The (Whatever) Committee&#8221; becomes an abstract concept.</p>
<p>I do believe this situation is in some way a Stockholm Syndrome, that people develop this complex feeling of the machine that helps them survive however restricts their mind and body (infants showing undue strength get killed) as well. This paradox could be a problem that we&#8217;ll all facing while we have to make decision to keep mankind survive with extremely restricted resources (which might not be the case in the novel, but I suppose it did happen while the machine initially took over the housekeeping work for men). This is why when I was reading I keep thinking of the anime &#8220;Tengen Toppa Gurren Lagaan&#8221; which show lots of similarity in the concept. While in the novel Kuno dug his way along out to the surface of the earth, I feel exactly the same excitement when I saw the scene in the anime that Simon, Kamina and Yoko fought their way to the surface (The still image I posted at the beginning of the entry).</p>
<p>It&#8217;s interesting that in the story, money was never mentioned. It&#8217;s likely that the worldwide disaster helped to form a centralized society where capitalism was perished. &#8220;The Commitee&#8221; could be a small group of humen elites or maybe the machine itself. It leveraged resources all over the globe after the disaster and as described in the novel, the resource shortage seemed to be already over and people did look for higher level of spiritual intercourse. </p>
<p>But why would the machine stop? How could that happen?</p>
<p>Technically speaking, I believe that the maintenance of such large scale of machinery is out of human beings control. That is, the machine must be self-maintaining (see the mending apparatus?) and possibly has already developed its own will and somehow keeps doing its job to babysitting the human beings (otherwise it&#8217;s gonna lose its raison d&#8217;etre, this is also typically the reason why I do not wish to talk about <em><a href="http://www.imdb.com/title/tt0133093/" target="_blank">The Matrix</a></em>, for machines in that movie is &#8220;evil-minded&#8221; and totally against men, which I believe is not the case here). However inhuman it could be (i.e. killing babies) it&#8217;s executing the already-made decision according to its preset programs to protect the mankind from extinction. So why would the machine let this happen? Is it really doing everything it can (like at least send out the alert)? Apparenly not. It&#8217;s not even showing much intelligence in the novel, the &#8220;committee&#8221; is the only channel between the machine and ordinary people, and what the committee shows, is exactly human bureaucracy. Maybe it&#8217;s just way too smart. Anyway the Answer is not revealed in the novel, and Forster actually did really well in predicting the situation that the internet distracts people from their real life, make them believe that they are more spiritual and have too much more important things to do to spare time for a face-to-face talk.</p>
<p>So far we are still lucky. We can unplug the cable and walk out of the room for fresh air (yeah, instead of changing the air in the room).</p>
<blockquote><p>It crashed downwards, exploding as it went, rending gallery after gallery with its wings of steel. For a moment they saw the nations of the dead, and, before they joined them, scraps of the untainted sky. </p></blockquote>
<p>However sad story it is, the ending is really &#8230; really beautiful.</p>
<p>Links:</p>
<ul>
<li>The Machine Stops. by E. M. Forster, 1909 (<a href="http://en.wikipedia.org/wiki/The_Machine_Stops" target="_blank">Wiki</a>, <a href="http://www.amazon.com/Machine-Stops-Dodo-Press/dp/140990329X/ref=pd_bbs_sr_2?ie=UTF8&#038;s=books&#038;qid=1221723738&#038;sr=8-2" target="_blank">Amazon</a>)</li>
<li><a href="http://en.wikipedia.org/wiki/Stockholm_syndrome" target="_blank">Stockholm syndrome</a></li>
<li><a href="http://www.gurren-lagann.net/" target="_blank">天元突破グレンラガン</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://leejayxia.com/blog/the-machine-stops/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Physical Computing Week 2: Analog!</title>
		<link>http://leejayxia.com/blog/physical-computing-week-2-analog/</link>
		<comments>http://leejayxia.com/blog/physical-computing-week-2-analog/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 15:11:07 +0000</pubDate>
		<dc:creator>L.J</dc:creator>
				<category><![CDATA[Introduction to Physical Computing]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Fall 2008]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Week2]]></category>

		<guid isPermaLink="false">http://leejayxia.com/blog/?p=100</guid>
		<description><![CDATA[Hooking up the following stuff according to the diagram was easy and quick. And a resister of 220 10K Om is working ideally to create an ouput range of 0 &#8211; 930 (from total darkness to direct shine of torchlight) for the photocell. I changed the switch from last week to a much smaller one [...]]]></description>
			<content:encoded><![CDATA[<p>Hooking up the following stuff according to <a href="http://www.tigoe.net/pcomp/code/input-output/analog-input" target="_blank">the diagram</a> was easy and quick. And a resister of <del datetime="2008-09-18T02:39:37+00:00">220</del> 10K Om is working ideally to create an ouput range of 0 &#8211; 930 (from total darkness to direct shine of torchlight) for the photocell.</p>
<p>I changed the switch from last week to a much smaller one which could be inserted right into the breadboard, to get rid of the mess of the hookup wires. The output was quite straightforward in the arduino console window, so I decided to connect the output to the <a href="http://processing.org/reference/libraries/serial/index.html" target="_blank">processing</a>. </p>
<p>This is how it works:<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=1750802&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://vimeo.com/moogaloop.swf?clip_id=1750802&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<a href="http://vimeo.com/1750802?pg=embed&amp;sec=1750802">Physical Computing Week 2</a> from <a href="http://vimeo.com/user758219?pg=embed&amp;sec=1750802">Leejay Xia</a> on <a href="http://vimeo.com?pg=embed&amp;sec=1750802">Vimeo</a>.</p>
<p>(Quick and Dirty) Code for Processing, it&#8217;s based on the example on their site</p>
<div class="codecolorer-container java dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br /></div></td><td><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">processing.serial.*</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// The serial port:</span><br />
Serial myPort<span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">int</span> window <span style="color: #339933;">=</span> <span style="color: #cc66cc;">400</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> values <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">int</span> index <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000066; font-weight: bold;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; size<span style="color: #009900;">&#40;</span>window,window<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; smooth<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">// List all the available serial ports:</span><br />
&nbsp; println<span style="color: #009900;">&#40;</span>Serial.<span style="color: #006633;">list</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; myPort <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Serial<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>, Serial.<span style="color: #006633;">list</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span>, <span style="color: #cc66cc;">9600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><br />
&nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; values<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000066; font-weight: bold;">void</span> draw<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>myPort.<span style="color: #006633;">available</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #003399;">String</span> inBuffer <span style="color: #339933;">=</span> myPort.<span style="color: #006633;">readString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> vals <span style="color: #339933;">=</span> splitTokens<span style="color: #009900;">&#40;</span>inBuffer<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>vals.<span style="color: #006633;">length</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; values<span style="color: #009900;">&#91;</span>index<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#40;</span>vals<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//println(index+&quot;:&quot;+values[index]+&quot;/&quot;+vals[i]);</span><br />
&nbsp; &nbsp; &nbsp; index<span style="color: #339933;">++;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>index <span style="color: #339933;">&gt;=</span> window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; index <span style="color: #339933;">=</span> index <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">int</span> j <span style="color: #339933;">=</span> i <span style="color: #339933;">+</span> index<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>j <span style="color: #339933;">&gt;=</span> <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; j <span style="color: #339933;">=</span> j <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; stroke<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; line<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">50</span> <span style="color: #339933;">+</span> i, <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span>, <span style="color: #cc66cc;">50</span> <span style="color: #339933;">+</span> i, <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>values<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">1024</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; stroke<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; point<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">50</span> <span style="color: #339933;">+</span> i, <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; point<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">50</span> <span style="color: #339933;">+</span> i, <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>values<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">1024</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Notes-taking:</p>
<ul>
<li> I tried also the Thermistors but have not yet find a right resister to tune its output range.</li>
<li> In the current codes, the arduino board must be plugged before the processing applet runs.<br />
This is because the processing init code cannot find a usable serial port to initialize the object. And so far I didn&#8217;t see a possible way to initialize it during the draw() loop due to the lack of a try/catch machanism. More exploration to go!
</li>
<li>
The serial port transmits data much faster than the draw() function loops. Thus everytime we arrive in the draw() loop there might be a bunch of values waited in the buffer. These values need to be splited and stored accordingly. Of course a more complex protocal could be created to sample specific data or behavior.
</li>
</ul>
<p>More Photos:<br />
<a href="http://leejayxia.com/blog/wp-content/uploads/2008/09/dsc04616.jpg" rel="lightbox[100]"><img class="alignnone size-medium wp-image-103" title="dsc04616" src="http://leejayxia.com/blog/wp-content/uploads/2008/09/dsc04616-300x225.jpg" alt="" width="300" height="225" /></a> <a href="http://leejayxia.com/blog/wp-content/uploads/2008/09/dsc04614.jpg" rel="lightbox[100]"><img class="alignnone size-medium wp-image-101" title="dsc04614" src="http://leejayxia.com/blog/wp-content/uploads/2008/09/dsc04614-300x225.jpg" alt="" width="300" height="225" /></a> <a href="http://leejayxia.com/blog/wp-content/uploads/2008/09/dsc04617.jpg" rel="lightbox[100]"><img class="alignnone size-medium wp-image-104" title="dsc04617" src="http://leejayxia.com/blog/wp-content/uploads/2008/09/dsc04617-300x225.jpg" alt="" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://leejayxia.com/blog/physical-computing-week-2-analog/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Visualizing Sound: Week 2</title>
		<link>http://leejayxia.com/blog/visualizing-sound-week-2/</link>
		<comments>http://leejayxia.com/blog/visualizing-sound-week-2/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 03:43:34 +0000</pubDate>
		<dc:creator>L.J</dc:creator>
				<category><![CDATA[Visualizing the Five Senses]]></category>
		<category><![CDATA[Fall 2008]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[Visualization]]></category>
		<category><![CDATA[Week2]]></category>

		<guid isPermaLink="false">http://leejayxia.com/blog/?p=84</guid>
		<description><![CDATA[I played a lot with processing today and almost forgot about the homework. Here comes the visualization for the famous pink song: First I changed the audio source to line-in so that I could play live with whatever I want. And I do love to snap to my laptop and see it react. *snap* *snap* [...]]]></description>
			<content:encoded><![CDATA[<p>I played a lot with processing today and almost forgot about the homework.</p>
<p>Here comes the visualization for the famous pink song:</p>
<p><a href="http://leejayxia.com/blog/wp-content/uploads/2008/09/e59bbee78987-10.png" rel="lightbox[84]"><img class="alignnone size-medium wp-image-86" title="pink visualization 1" src="http://leejayxia.com/blog/wp-content/uploads/2008/09/e59bbee78987-10-300x225.png" alt="" width="300" height="225" /></a> <a href="http://leejayxia.com/blog/wp-content/uploads/2008/09/e59bbee78987-9.png" rel="lightbox[84]"><img class="alignnone size-medium wp-image-85" title="pink visualization 2" src="http://leejayxia.com/blog/wp-content/uploads/2008/09/e59bbee78987-9-300x225.png" alt="" width="300" height="225" /></a></p>
<p>First I changed the audio source to line-in so that I could play live with whatever I want. And I do love to snap to my laptop and see it react. *snap* *snap*</p>
<p>Also it&#8217;s fun to whistle at the program to see what&#8217;s happening.</p>
<p>The primary factor for visualization in this piece is the shape of diamond. I do not really want to mess up with 3D transforming and matrix things&#8230;so to make life easier I came up with following specs:</p>
<p>* Frequency &#8211; mapped to color of the diamond. Firstly the full spectrum was mapped to full Hue scope in a linear manner. That is to map 0 &#8211; 22050Hz to 0-360. However for music and vocal the frequency gathers around below 2000Hz, so I trimmed the sample frequency range to 0 &#8211; 16000Hz. Not much difference in the result though because it&#8217;s not enough. But at least it&#8217;s more colorful than before the change, and actually I don&#8217;t really wish to lose the sampling of higher frequency.</p>
<p>* Amplitude &#8211; mapped to saturation and size of the diamond. A little randomness was also added.</p>
<p>* History &#8211; I would rather create an overall feeling of the piece of the sound than to analyze its features at any timeslot. So I made the previous visualization of the sound fade into the background. I&#8217;m thinking of a better solution though&#8230; maybe after I get comfortable with the 3D stuff.</p>
<p>* Keyboard Controls &#8211; several commands could be made through keyboard shortcuts:</p>
<p>1) l (as in Leopard) &#8211; toggle log/debug mode (which shows a waveform of spectrum)</p>
<p>2) c &#8211; clear screen</p>
<p>3) + &#8211; increase threshold for amplitude, which filters frequency with amplitude above threshold to sample</p>
<p>4) &#8211; - decrease threshold for amplitude</p>
<p>After getting tired of snapping, I used miniAudicle to generate sounds for testing, which looks pretty good from the result&#8217;s aspect.</p>
<p><a href="http://leejayxia.com/blog/wp-content/uploads/2008/09/e59bbee78987-11.png" rel="lightbox[84]"><img class="alignnone size-medium wp-image-94" title="Random noise between frequency 200 - 1000" src="http://leejayxia.com/blog/wp-content/uploads/2008/09/e59bbee78987-11-300x225.png" alt="" width="300" height="225" /></a> <a href="http://leejayxia.com/blog/wp-content/uploads/2008/09/e59bbee78987-8.png" rel="lightbox[84]"><img class="alignnone size-medium wp-image-88" title="Generating sound with miniAudicle" src="http://leejayxia.com/blog/wp-content/uploads/2008/09/e59bbee78987-8-300x228.png" alt="" width="300" height="228" /></a></p>
<p>Link for applet (using pink.mp3)</p>
<p><a href="http://leejayxia.com/processing/v5s_week2/" target="_blank">http://leejayxia.com/processing/v5s_week2/</a></p>
<p>To play it with microphone you need to download <em>Executable for Mac OSX</em></p>
<p><a href="http://leejayxia.com/processing/v5s_week2/week2.zip" target="_blank">http://leejayxia.com/processing/v5s_week2/week2.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://leejayxia.com/blog/visualizing-sound-week-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Friday Afternoon Bus Ride on M5</title>
		<link>http://leejayxia.com/blog/friday-afternoon-bus-ride-on-m5/</link>
		<comments>http://leejayxia.com/blog/friday-afternoon-bus-ride-on-m5/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 07:05:12 +0000</pubDate>
		<dc:creator>L.J</dc:creator>
				<category><![CDATA[Applications of Interactive Technologies]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[Bus]]></category>
		<category><![CDATA[Fall 2008]]></category>
		<category><![CDATA[Free Ride]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[MTA]]></category>
		<category><![CDATA[Week2]]></category>

		<guid isPermaLink="false">http://leejayxia.com/blog/?p=54</guid>
		<description><![CDATA[THE RIDE I had no idea where this journey would lead me to while I stepped into the bus. I didn’t even check the bus map for the exact location of the destination. Having never taken any buses before in this city, I stared at the card reader for a while trying to find out [...]]]></description>
			<content:encoded><![CDATA[<p><strong>THE RIDE</strong></p>
<p>I had no idea where this journey would lead me to while I stepped into the bus. I didn’t even check the bus map for the exact location of the destination. Having never taken any buses before in this city, I stared at the card reader for a while trying to find out the right direction to swipe my metro card.</p>
<p>“Never mind”, the driver turned around, looked at me and said.</p>
<p>“What?”</p>
<p>“It’s not working.”</p>
<p>“Uh&#8230;?”</p>
<p>This conversation was already beyond my preset scene and I did not know a way to respond. I paused for like 5 seconds, searching in my brain for possible routes to go ahead. Supposedly he’s not going to ask me to fix it?</p>
<p>“What do I do then?”, I asked, “I can pay by cash&#8230;”</p>
<p>“It’s NOT working! Free ride! FREE RIDE!”</p>
<p>Everybody knows free ride. Problem solved. I was more than satisfied.</p>
<p>It took me 20 minutes to find the bus stop at Houston and La Guardia Pl. Before that I waited at a wrong stop (which turned out to be the last stop for M5) for a while, during which ironically I was politely inquired about another bus stop by three guys in black suits. In fact I was checking the map at that moment, it’s hard to believe they would rather choose a tourist-like guy to ask ways.</p>
<p>A fairly good start anyway.</p>
<p>While I sat down happily in the bus and realized I was the only passenger, I started to think about how people would react to this broken card reader thing.</p>
<p>I had no clue whether this is normal in New York. Maybe the card reader breaks a lot and people just get used to it?.</p>
<p>It did make sense not to charge the passenger with metro card now that the device was not working. And passengers who were originally intended to pay by cash also get the fee waived because they should not be charged just because they had cash on them. It’s the service provider’s fault and they had the responsibility to afford it.</p>
<p>This is how services are supposed to work. Fairly enough. But I cannot imagine all passengers be getting free rides if it’s a card reader broken on a bus in Shanghai. It never occurred on a bus, however there were times while I took taxi in Shanghai I was asked to pay by cash or just leave because the card reader on the taxi was broken or running out of receipt paper.</p>
<p>(BTW the driver’s job is really intense. Apart from driving, s/he would have to tell the next stop, tie the wheelchair for people with disabilities, and explain to every new passenger that it’s a free ride. If it were me I would lose my temper much sooner.)</p>
<p>Whether or not this happens a lot in the city, people would eventually accept the free ride happily. I watched for several stops and categorized people by the hesitation they shown on hearing this.</p>
<p>Basically all people did show hesitation, but no one had one as long as mine. I preferred to believe that their pause was just properly and carefully disguised. Elderly people tended to confirm one more time and younger people just walked away. Among them there were for sure tourists (I assumed so since I heard them talking in Russian/German), they travelled in groups and while they heard about it they told other members in the group (who were probably still puzzling) in a delightful tone, which apparently shortened their stay at the door and eased the traffic.</p>
<p>My conclusion would be that this sort of “distraction” of a bus ride is pretty common in the city and people accepted it as it is. Even if one had never met this kind of situation before, s/he could response to the situation within seconds based on the judgment for responsibilities and feel comfortable with the result.</p>
<p>If we look back to the taxi case happened in Shanghai, I was given two options. a) Cash, or b) take another taxi. In the bus case a third alternative, c) free ride, was offered for all passengers along the ride, and the “cash” option is subtly waived since no one would possibly choose that. Unlike taxis, buses are engaging much more people. By offering the free ride it’s doing its duty as a public service. Taxis, however, are more profit-oriented and the drivers are splitting the income for each ride with the taxi company (at least in Shanghai), and time is a critical factor and much more precious for them. That’s why a free ride is not affordable for taxi drivers. I suppose buses are not allowed to just drop the passengers and let them take the next bus because they are funded by tax, and as a service if the bus itself is working safe it then has no reason to drop any passenger.</p>
<p>Stalking time! Some fun and not-that-fun facts while I was searching for “new york bus free ride”:</p>
<p>The Good: Commuters using Ikea shuttle bus to bypass MTA routes. <a href="http://tinyurl.com/62udfx" target="_blank">http://tinyurl.com/62udfx</a></p>
<p>The Bad: It’s no free ride: Bus-born must pay. <a href="http://tinyurl.com/5dcr26" target="_blank">http://tinyurl.com/5dcr26</a></p>
<p>The Ugly: Youths Demanding Free Ride Attack Bus Driver in Queens. <a href="http://tinyurl.com/5kq662" target="_blank">http://tinyurl.com/5kq662</a></p>
<p><strong>THE ROUTE</strong></p>
<p>It’s always been amusing to me that people refer to different parts of the city as “uptown” and “downtown”. It’s most likely to origin from the map where the north is marked as “Up”. However in Shanghai we have similar terms like “upper/lower corner” started from early as 1920s or 1930s, which have nothing to do with the geographical position and are more likely to link to the state of prosperous of the area.</p>
<p>M5 is running from downtown West Houston Street along to upper 178th Street. Given the context of up/down I felt like traveling in an elevator ascending from the root of the tree of the city to the top leaves. It’s just the routes in the city are connecting to each other more like a web than tree branches, nevertheless I decided to keep that imagination.</p>
<p>The obvious benefit of doing so was that I could then measure the progress and feel proud of it. While the number increased, It’s like a intangible progress bar running in my brain and made me feel like &#8230; accomplishing. I knew it sounded a little bit weird but that’s how I saw it. Thanks to the simplicity of this street naming convention, I do hate it sometimes though.</p>
<p>During my very first 2 weeks of stay in Manhattan I had never been “upper” than Penn Station. It somehow explained why I got excited that easily, that, I’m still a tourist, an explorer, a new comer. And that’s the reason I was capable of being an observer.</p>
<p>I watched the street outside the window. Born and raised in a big city, I wondered whether I could find anything surprising in the streets in New York.</p>
<p>Metropolises are always alike. Same busy traffic, same crowd, even same shops &#8212; Those worldwide big brand chain stores are just everywhere. I always believe that the cities were meant to be built alike so that it eases our nerves while we travel around, and we don’t have to learn a whole new set of rules to survive. Moreover, we city people have trained ourselves to be *not* concerned about the surrounding world and interpret the world as what we are already used to. And we know we would be safe under certain regulations and rules.</p>
<p>So how do I fit New York City into my eyes? I could make a long list of apparent differences that I noticed on my first day in Manhattan.</p>
<p>a) Traffic lights for vehicles</p>
<p>NY: hung highly over the street, sometimes swinging. yellow.</p>
<p>SH: installed on a pole or under the bridge. black.</p>
<p>b) Traffic lights for passengers</p>
<p>NY: stop-sign in hand shape/walk, red/white</p>
<p>SH: stand/walk both in human shape, red/green</p>
<p>c) Broadcasting onboard a bus</p>
<p>NY: bus drivers have to yell at each stop</p>
<p>SH: pre-recorded tape for each step</p>
<p>d) Stop request on bus</p>
<p>NY: press the rubber tape to request stop</p>
<p>SH: stand near the rear door and the driver could monitor through a live camera</p>
<p>e) Blind-way for the blind</p>
<p>NY: None?</p>
<p>SH: Yes</p>
<p>f) Subway entrance</p>
<p>NY: not connected underground. You have to look carefully for the correct direction.</p>
<p>SH: all entrances are connected to a platform underground and you could travel both ways.</p>
<p>g) Parking</p>
<p>NY: every main streets</p>
<p>SH: no way in main streets</p>
<p>h) blah blah blah</p>
<p>&#8230;</p>
<p>Those are not issues to me at all. Most of them are well self-explained and in fact no big deal. Although differences make me nervous, but to be accustomed to them would not take too much time at all.</p>
<p>My real problem is, my English language is far from enough to describe what I see. Like a patient suffering from epilepsy has the brain split in half for a compromised solution, I lose connection between objects and their names, ideas and language. Riding on the bus I kept taking notes of what I understood but could not describe in simple words.</p>
<p>It started to rain.</p>
<p>It started while we were turning to the Riverside at West 72 street. Streams of water began to appear on the floor of the compartment, forming strange curves and making the floor look dirty.</p>
<p>People started to move from left side seats to the right, and I don’t know why. At first I thought they were preparing to get off so that they approached right to get near the door, but they seemed to be comfortable with the new seat afterwards and showed no sign of leaving.</p>
<p>The drive along Riverside was peaceful, and quiet. All greens outside the window, the glass was masked by the raindrops. There were not much to see though. Few people got on and the bus became cooler due to the loss of density.</p>
<p>The bus kept moving and turned right at 135 street while it was suddenly crowded with mid school kids. Laughing and talking loudly, they filled the bus with energy again. The ride had last for over 90 minutes and I was already at the edge of falling asleep. I stopped taking notes and noticed that the driver had already shifted.</p>
<p>It was until then that I realized why people are avoiding sitting on the left. The rain caused the temperature drop but the A/C was still on and blowing cool wind. I bet it was already below 70F inside the bus. I was not sure whether it’d be better sitting on the right but the A/C outlet above my seat was blowing really hard.</p>
<p>I checked my bus map, George Washington Bridge was just a few stops away. I decided to stay and endure.</p>
<p><strong>THE JOURNEY BACK</strong></p>
<p>When I sat down on the southbound bus, I was half wet and freezing. The rain might not be necessarily caused by the hurricane Hanna, but I was pretty sure that my umbrella was not capable of stopping it from pouring.</p>
<p>Now the bus was going downtown and my mood descends too. And the god-damn A/C is still on. Upset though, I didn’t want to give up my observation now that I still had two hours’ ride to go.</p>
<p>The “STOP REQUEST” light at the front lit and went off from time to time. It reset itself while the bus actually stopped and would be triggered on again while a passenger pressed on the stripe attached to the window edge. Watching it doing its duty actually made me smile. It looked like yelling “STOP REQUESTING” at people who kept pressing on the stripes regardless of the already lit sign. There are signs written as “STOP REQUESTED”, which is more comprehensive however more machine-like.</p>
<p>It was around 6 p.m on Friday, supposedly rush hour. Seats were soon taken and there started to be people standing. While the bus was taking its turn down the central park to 5th avenue, it’s no longer an empty transportation vehicle but a real life bus carrying people. People squeezed their way through the crowded, noisy and moist compartment. I no longer felt freezing, I felt like home.</p>
<p>Once I truly integrated in this city I guess I would not be able to observe it like a stranger as this time, or at least it needs more effort and courage to do so. But that’s what artists do, to keep watching, and imagining, that they are always strangers.</p>
]]></content:encoded>
			<wfw:commentRss>http://leejayxia.com/blog/friday-afternoon-bus-ride-on-m5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

