<?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>Eightlines Creations &#187; Ideas</title>
	<atom:link href="http://www.eightlines.com/blog/category/ideas/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.eightlines.com/blog</link>
	<description>Experiments in Physical Computing</description>
	<lastBuildDate>Wed, 09 Jun 2010 19:09:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Power Monitor Packet</title>
		<link>http://www.eightlines.com/blog/2009/08/power-monitor-packet/</link>
		<comments>http://www.eightlines.com/blog/2009/08/power-monitor-packet/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 01:17:44 +0000</pubDate>
		<dc:creator>Brent</dc:creator>
				<category><![CDATA[Ideas]]></category>

		<guid isPermaLink="false">http://www.eightlines.com/blog/?p=212</guid>
		<description><![CDATA[As Hugo helpfully commented in a previous post, here is the link to the Power Monitor Patent. The specific page I&#8217;m linking to is the Packet model. Lots of reading to do here, but its pretty&#160;interesting. One of the things I find most interesting about this patent is the citations dating back to 1977. Definitely [...]]]></description>
			<content:encoded><![CDATA[<p>As Hugo helpfully commented in a previous post, here is the link to the <a title="Power Monitor Patent" href="http://www.google.ca/patents?id=LKGoAAAAEBAJ&amp;zoom=4&amp;pg=PA6#v=onepage&amp;q=&amp;f=false" target="_blank">Power Monitor Patent</a>. The specific page I&#8217;m linking to is the Packet model. Lots of reading to do here, but its pretty&nbsp;interesting.</p>
<p>One of the things I find most interesting about this patent is the citations dating back to 1977. Definitely not a cutting edge technology we&#8217;re working with here. If the 1977 patent was the byproduct of the &#8217;70s energy crisis what inventions will we see as a byproduct of our current energy&nbsp;phase?</p>
]]></content:encoded>
			<wfw:commentRss>http://js-kit.com/rss/eightlines.com/blog/p=212</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a Scooter Bike for Kids</title>
		<link>http://www.eightlines.com/blog/2009/07/building-a-scooter-bike-for-kids/</link>
		<comments>http://www.eightlines.com/blog/2009/07/building-a-scooter-bike-for-kids/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 02:28:10 +0000</pubDate>
		<dc:creator>Brent</dc:creator>
				<category><![CDATA[Ideas]]></category>

		<guid isPermaLink="false">http://www.eightlines.com/blog/?p=205</guid>
		<description><![CDATA[Ages ago I bookmarked a design posted on Make for a Scooter Bike, as I intended on building one when my daughter got old enough. On a recent trip to the surplus store I picked up a wheelset for $3 and figured what better time to start than now. I found furniture grade plywood on [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Scooter Bike" href="http://twitpic.com/atmvn"><img class="alignleft" src="http://twitpic.com/show/thumb/atmvn.jpg" alt="Share photos on twitter with Twitpic" width="150" height="150" /></a>Ages ago I <a title="Crumley Coaster Bike Plans" href="http://crumleydotorg.chattablogs.com/archives/038834.html" target="_blank">bookmarked a design</a> posted on Make for a Scooter Bike, as I intended on building one when my daughter got old enough. On a recent trip to the surplus store I picked up a wheelset for $3 and figured what better time to start than now. I found furniture grade plywood on a neighbour&#8217;s front yard ready for the trash. Screws, Nuts <span class="amp">&amp;</span> Bolts cost&nbsp;~$10.</p>
<p>Now this design appears to be based on a European design, and around this end of the globe we have <a title="Like-a-Bike" href="http://store.likeabikeusa.com/merchant2/merchant.mvc?Screen=main&amp;Store_Code=L&amp;Category_Code=BIKES" target="_blank">Like-a-Bike</a> which look very similar. The $300 price tag was a bit steep, and since I had all of the parts in the shop I decided I could build it myself. The whole project took about a week when you take in all of the trial and error that went on. A more competent woodworker could probably do it in much less time. All in all, it made me further appreciate the subtleties of the Like-a-Bike&nbsp;design.</p>
<p><a title="Front Fork Design" href="http://twitpic.com/9yhuf"><img class="alignleft" src="http://twitpic.com/show/thumb/9yhuf.jpg" alt="Front Fork Design" width="150" height="150" /></a><a title="Share photos on twitter with Twitpic" href="http://twitpic.com/a5j2o"><img class="alignright" src="http://twitpic.com/show/thumb/a5j2o.jpg" alt="Share photos on twitter with Twitpic" width="150" height="150" /></a>Initially, I went with the design in the <span class="caps">PDF</span> file which included front forks cut out of a single block of wood (Left image). This became problematic when I noticed the axle would have to be thinner and the design gave less flexibility when manipulating the headset. I soon went to a different design (Right image) which ended up being more rigid, and easier to modify as the design changed. In the end I also managed to shim in a spring to act as a rudimentary shock. Instead of adding spacers to the front wheel I pulled the axle in far enough to bend the forks. It seems to add a nice bit of curve to the&nbsp;design.</p>
<p><a title="Share photos on twitter with Twitpic" href="http://twitpic.com/ae76o"><img class="alignleft" src="http://twitpic.com/show/thumb/ae76o.jpg" alt="Share photos on twitter with Twitpic" width="150" height="150" /></a>Looking at other wooden bike designs it appears 1/8&#8221; plywood would have probably done the trick. I used 1/2&#8221; plywood which was probably overkill. This adds to the weight, but my daughter can still manage it easily. The edges are routed to give a nice curve, and to avoid splinters. It also added a really nice effect to the edges. I&#8217;m looking forward to seeing the varnish go on. In this image you can also see how the rear wheel fits between the body. I had to sand the plywood down to provide an allowance for the rear wheel to spin freely. To stop the rear axle bolts from loosening, use a nylon threaded&nbsp;nut.</p>
<p><a title="Share photos on twitter with Twitpic" href="http://twitpic.com/ai26e"><img class="alignright" src="http://twitpic.com/show/thumb/ai26e.jpg" alt="Share photos on twitter with Twitpic" width="150" height="150" /></a><a title="Share photos on twitter with Twitpic" href="http://twitpic.com/b6eg4"><img class="alignleft" src="http://twitpic.com/show/thumb/b6eg4.jpg" alt="Share photos on twitter with Twitpic" width="150" height="150" /></a>The handlebars were simply cut and sanded down to the final rounded off shape. I also had to modify the front forks to give a larger turning radius. Sanding the inside edge of the fork provided about 20° to each side. The headset also had to be reinforced with more screws, I&#8217;d recommend putting countersunk bolts right through the frame. The first time the bike dropped to the floor the threads stripped the plywood. I&#8217;m hoping more screws would stop this from happening next&nbsp;time.</p>
<p>This was a pretty fun build that could be completed with some simple tools. I used a band saw, belt sander, router, and drill press. You could do this project with much less if you wanted to. You could also supplement the design with a kick stand, bell, streamers, or&nbsp;carrier.</p>
]]></content:encoded>
			<wfw:commentRss>http://js-kit.com/rss/eightlines.com/blog/p=205</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arduino Packet Analyzer</title>
		<link>http://www.eightlines.com/blog/2009/06/arduino-packet-analyzer/</link>
		<comments>http://www.eightlines.com/blog/2009/06/arduino-packet-analyzer/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 02:29:37 +0000</pubDate>
		<dc:creator>Brent</dc:creator>
				<category><![CDATA[Ideas]]></category>

		<guid isPermaLink="false">http://www.eightlines.com/blog/?p=177</guid>
		<description><![CDATA[Following the previous success where we managed to see the transmissions from the Black &#38; Decker Power Monitor, Andrew Kilpatrick and I went about trying to capture the packets. Without an access to an oscilloscope with packet capture capabilities we built our own with an&#160;Arduino. Essentially, the code waits for the Power Monitor to transmit [...]]]></description>
			<content:encoded><![CDATA[<p>Following the <a title="Black and Decker Power Monitor Hack" href="http://www.eightlines.com/blog/2009/06/black-decker-power-monitor-hack/" target="_self">previous success</a> where we managed to see the transmissions from the Black <span class="amp">&amp;</span> Decker <a title="Black and Decker Power Monitor" href="http://www.blackanddecker.com/Energy/products.aspx" target="_blank">Power Monitor</a>, <a title="Andrew Kilpatrick Blog" href="http://www.andrewkilpatrick.org/" target="_blank">Andrew Kilpatrick</a> and I went about trying to capture the packets. Without an access to an oscilloscope with packet capture capabilities we built our own with an&nbsp;Arduino.</p>
<p>Essentially, the code waits for the Power Monitor to transmit the packet. When it detects a signal it spins up to a 100 microsecond delay and captures the bytes. These bytes are stored to the internal memory. When the packet is finished, it dumps the data to the Serial Monitor and waits for the next&nbsp;packet.</p>
<pre class="c"><span style="color: #808080; font-style: italic;">/**
 * Packet Analyzer
 *
 * Project documented at:
 * http://www.eightlines.com/blog/2009/04/arduino-packet-analyzer/
 *
 * Many thanks to Andrew Kilpatrick:
 * http://andrewkilpatrick.org/blog/
 *
 * Captures &amp;amp; logs incoming packets in <span class="caps">HEX</span> format.
 * Digital signal is <span class="caps">HIGH</span> and drops to <span class="caps">LOW</span> when transmitting.
 * Accepts digital input on Digital Pin 8.
 */</span>
&nbsp;
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> buff<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">128</span><span style="color: #66cc66;">&#93;</span>; <span style="color: #808080; font-style: italic;">//Create a buffer array to insert bytes</span>
<span style="color: #993333;">int</span> bufferLength = <span style="color: #cc66cc;">128</span>;
&nbsp;
<span style="color: #993333;">void</span> setup<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
  Serial.<span style="color: #202020;">begin</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">115200</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//Invoke serial connection</span>
&nbsp;
  <span style="color: #808080; font-style: italic;">//Set input based on port registers</span>
  <span style="color: #808080; font-style: italic;">//Refers to Digital Pin 8</span>
  <span style="color: #808080; font-style: italic;">//http://arduino.cc/en/Reference/PortManipulation</span>
  <span class="caps">DDRB</span> = <span class="caps">DDRB</span> | B11111110; <span style="color: #808080; font-style: italic;">//Data Direction Register</span>
  <span class="caps">PORTB</span> = 0xFF; <span style="color: #808080; font-style: italic;">//Port B Register</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> loop<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
  <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> tempByte; <span style="color: #808080; font-style: italic;">//Temporary Byte</span>
&nbsp;
  <span style="color: #808080; font-style: italic;">//while (<span class="caps">PORTB</span> &amp;amp; 0x01); //Not functioning as expected</span>
  <span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span>digitalRead<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//While <span class="caps">HIGH</span> idle</span>
&nbsp;
  <span style="color: #808080; font-style: italic;">//<span class="caps">LOW</span> transmitted enter For Loop</span>
  <span style="color: #808080; font-style: italic;">//Repeat loop for each byte in bufferLength</span>
  <span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> b = <span style="color: #cc66cc;">0</span>; b &amp;lt; bufferLength; b++<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#123;</span>
    tempByte = <span style="color: #cc66cc;">0</span>; <span style="color: #808080; font-style: italic;">//Reset temporary byte</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">//Loop for each bit</span>
    <span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333;">char</span> bit = <span style="color: #cc66cc;">0</span>; bit &amp;lt; <span style="color: #cc66cc;">8</span>; bit++<span style="color: #66cc66;">&#41;</span>
    <span style="color: #66cc66;">&#123;</span>
      tempByte = tempByte &amp;lt;&amp;lt; <span style="color: #cc66cc;">1</span>; <span style="color: #808080; font-style: italic;">//Shift previous bit</span>
      tempByte = tempByte &amp;amp; 0xfe;
      <span style="color: #808080; font-style: italic;">//tempByte = tempByte | (<span class="caps">PORTB</span> &amp;amp; 0x01); //Not functioning as expected</span>
      tempByte = tempByte | <span style="color: #66cc66;">&#40;</span>digitalRead<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//Incoming value</span>
      delayMicroseconds<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//Oversampled delay - can be adjusted based on speed of packet</span>
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
    buff<span style="color: #66cc66;">&#91;</span>b<span style="color: #66cc66;">&#93;</span> = tempByte; <span style="color: #808080; font-style: italic;">//Write byte to buffer</span>
  <span style="color: #66cc66;">&#125;</span>
&nbsp;
  <span style="color: #808080; font-style: italic;">//Write buffer to Serial connection</span>
  Serial.<span style="color: #202020;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;<span class="caps">SOH</span>&quot;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> b = <span style="color: #cc66cc;">0</span>; b &amp;lt; <span style="color: #cc66cc;">128</span>; b++<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#123;</span>
    Serial.<span style="color: #202020;">print</span><span style="color: #66cc66;">&#40;</span>buff<span style="color: #66cc66;">&#91;</span>b<span style="color: #66cc66;">&#93;</span>, <span class="caps">HEX</span><span style="color: #66cc66;">&#41;</span>;
    Serial.<span style="color: #202020;">print</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot; &quot;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
  Serial.<span style="color: #202020;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #66cc66;">&#41;</span>;
  Serial.<span style="color: #202020;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;<span class="caps">EOT</span>&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre>
<p>This code will produce a <span class="caps">HEX</span> output of the signal. Convert this to bytes and map the data to high (-) and lows (_). [I&#8217;m an Flash developer by day, so the code below is in&nbsp;ActionScript]</p>
<pre class="c">public <span style="color: #000000; font-weight: bold;">function</span> HexInterpreter<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
   var hexArray:Array = hex.<span style="color: #202020;">split</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot; &quot;</span><span style="color: #66cc66;">&#41;</span>;
   hexArray.<span style="color: #202020;">forEach</span><span style="color: #66cc66;">&#40;</span>appendHex<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
protected <span style="color: #000000; font-weight: bold;">function</span> appendHex<span style="color: #66cc66;">&#40;</span>element:*, index:<span style="color: #993333;">int</span>, arr:Array<span style="color: #66cc66;">&#41;</span>:<span style="color: #993333;">void</span>
<span style="color: #66cc66;">&#123;</span>
   arr<span style="color: #66cc66;">&#91;</span>index<span style="color: #66cc66;">&#93;</span> = uint<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;0x&quot;</span> + element<span style="color: #66cc66;">&#41;</span>;
   trace<span style="color: #66cc66;">&#40;</span>arr<span style="color: #66cc66;">&#91;</span>index<span style="color: #66cc66;">&#93;</span>.<span style="color: #202020;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>, arr<span style="color: #66cc66;">&#91;</span>index<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#125;</span></pre>
<p>The finished result is <a title="Power Monitor Packet" href="http://www.eightlines.com/blog/wp-content/uploads/2009/06/packets.txt" target="_blank">viewable here</a>. The next step is interpreting this into data. I believe reset sends four packets, and every transmission (once every 30 seconds) sends an <span class="caps">IR</span> Count and Temperature. The next step is interpreting the results from this&nbsp;test.</p>
<p>[I just want to stress that none of this code or results would have been possible without Andrew&#8217;s assistance. In fact 90% of the code presented here is his, I was just along for the ride and to learn a hell of a lot. Many&nbsp;thanks!]</p>
]]></content:encoded>
			<wfw:commentRss>http://js-kit.com/rss/eightlines.com/blog/p=177</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Black &amp; Decker Power Monitor Hack</title>
		<link>http://www.eightlines.com/blog/2009/06/black-decker-power-monitor-hack/</link>
		<comments>http://www.eightlines.com/blog/2009/06/black-decker-power-monitor-hack/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 02:27:19 +0000</pubDate>
		<dc:creator>Brent</dc:creator>
				<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Power Monitor]]></category>

		<guid isPermaLink="false">http://www.eightlines.com/blog/?p=190</guid>
		<description><![CDATA[Black &#38; Decker makes an interesting product called the Power Monitor. The monitor straps on to your hydro meter and reports the revolutions of a spinning disc or blinks of an IR LED depending which model of meter you have. It then broadcasts that reading to a handheld unit inside your house. As the fridge [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Energy Monitor hack by Eightlines, on Flickr" href="http://www.flickr.com/photos/eightlines/3512068152/"><img style="padding-right:10px;" src="http://farm4.static.flickr.com/3604/3512068152_0ff73a3c0c.jpg" alt="Energy Monitor hack" width="500" height="375" align="left" /></a>Black <span class="amp">&amp;</span> Decker makes an interesting product called the <a title="Black and Decker Power Monitor" href="http://www.blackanddecker.com/Energy/products.aspx" target="_blank">Power Monitor</a>. The monitor straps on to your hydro meter and reports the revolutions of a spinning disc or blinks of an <span class="caps">IR</span> <span class="caps">LED</span> depending which model of meter you have. It then broadcasts that reading to a handheld unit inside your house. As the fridge cycles on you can track this increase in power usage. Subtract that from the reading prior to the device powering on, and you have a rough estimate of how many watts that device uses. The Power Monitor is very simillar to the <a title="Kill-A-Watt" href="http://en.wikipedia.org/wiki/Kill_A_Watt" target="_blank">Kill-A-Watt</a> except it monitors the entire house instead of specific&nbsp;devices.</p>
<p>There&#8217;s some benefits of the Power Monitor over other devices. It tracks the entire house, the 30 second delay on readings is almost realtime, and its affordable ($100&thinsp;&#8212;&thinsp;would probably pay back fairly quickly). There&#8217;s also some disadvantages. It is less accurate then the Kill-A-Watt, and it has now data&nbsp;connection.</p>
<p>The Kill-A-Watt has a simillar problem, it doesn&#8217;t export the data either. This is a bit of an issue if you wanted to log the power consumption of your house. That&#8217;s where the <a title="Tweet-A-Watt" href="http://www.ladyada.net/make/tweetawatt/" target="_blank">Tweet-A-Watt</a> comes in. What I&#8217;m attempting to do is bring this ability to the Power Monitor. How hard could it&nbsp;be?</p>
<p><img class="alignright size-medium wp-image-194" title="RF Receiver" src="http://www.eightlines.com/blog/wp-content/uploads/2009/06/powermonitorrfreceiver-300x225.jpg" alt="RF Receiver" width="300" height="225" />The Power Monitor is a device manufactured by <a title="Blueline Innovations" href="http://www.bluelineinnovations.com/" target="_blank">Blueline Innovations</a>. It transmits a signal on a 433.92 MHz spectrum. My first attempts were to try to intercept the signal through an <span class="caps">RF</span> Receiver in the same&nbsp;frequency.</p>
<p>Initial attempt. Nothing. Set up an <span class="caps">RF</span> Transmitter, it communicated with the receiver perfectly. I was a bit stumped. This is when I checked out a session at <a title="Hacklab" href="http://hacklab.to/" target="_blank">Hacklab</a>. There, I was schooled on using <span class="caps">RF</span> Scanners, <a title="Wikipedia entry on Spread Spectrum" href="http://en.wikipedia.org/wiki/Spread_spectrum" target="_blank">spread spectrum</a> and other <span class="caps">RF</span> black magic. (Many thanks to&thinsp;&#8212;&thinsp;make sure to check these guys out&thinsp;&#8212;&thinsp;<a title="Andrew Kilpatrick Blog" href="http://www.andrewkilpatrick.org/blog/" target="_blank">Andrew Kilpatrick</a>, <a title="Toronto Goat" href="http://torontogoat.blogspot.com/" target="_blank">Toronto Goat</a>, and everyone else at Hacklab) We could detect the packet&#8217;s being sent, but couldn&#8217;t intercept any usable&nbsp;data.</p>
<p>It was decided that to get any useful data we must be more invasive. Warranty, out the window. We broke out the oscilloscope on the Monitor. Conveniently there&#8217;s two test probes marked on the board. This allowed us to identify the packet quite&nbsp;easily.</p>
<p><object width="400" height="225" data="http://vimeo.com/moogaloop.swf?clip_id=3733871&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=3733871&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /></object></p>
<p>Now at least I have some confidence that we will be able to produce some results and this isn&#8217;t some wild goose chase. The next phase is to capture the data off the device. I&#8217;ll follow up shortly with the Signal Boost circuit and Arduino code used to capture the transmitted signal. More&nbsp;soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://js-kit.com/rss/eightlines.com/blog/p=190</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Air Quality Monitoring</title>
		<link>http://www.eightlines.com/blog/2009/06/air-quality-monitoring/</link>
		<comments>http://www.eightlines.com/blog/2009/06/air-quality-monitoring/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 02:57:53 +0000</pubDate>
		<dc:creator>Brent</dc:creator>
				<category><![CDATA[Air Quality]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Data Logger]]></category>
		<category><![CDATA[Ideas]]></category>

		<guid isPermaLink="false">http://www.eightlines.com/blog/?p=187</guid>
		<description><![CDATA[Recently I had a discussion with someone from the South Riverdale Community Health Centre on Air Quality monitoring in Ontario (AQI). I learned a number of things, there are only 40 Air Quality Monitors in Ontario and they test for six key indexes. Toronto runs a slightly different test, the Air Quality Health Index (AQHI) [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I had a discussion with someone from the <a title="South Riverdale Community Health Centre" href="http://www.srchc.ca/">South Riverdale Community Health Centre</a> on Air Quality monitoring in Ontario (<span class="caps">AQI</span>). I learned a number of things, there are only <a title="AQI Ontario" href="http://www.ene.gov.on.ca/en/air/aqo/index.php#what" target="_blank">40 Air Quality Monitors in Ontario</a> and they test for six key indexes. Toronto runs a slightly different test, the <a title="Air Quality Health Index" href="http://www.ec.gc.ca/cas-aqhi/default.asp?lang=En&amp;n=CB0ADB16-1" target="_blank">Air Quality Health Index</a> (<span class="caps">AQHI</span>) which is a pilot programme and reports on how the Air Quality will affect your health. The <span class="caps">AQHI</span> test for <a title="AQHI Indicators" href="http://www.ec.gc.ca/cas-aqhi/default.asp?Lang=En&amp;n=065BE995-1#calculated" target="_blank">three key indicators</a>. Detecting three indexes sounds pretty&nbsp;reasonable.</p>
<p><a title="Mobile Air Quality Monitor by Eightlines, on Flickr" href="http://www.flickr.com/photos/eightlines/3597088400/"><img src="http://farm3.static.flickr.com/2466/3597088400_866e918c09_m.jpg" alt="Mobile Air Quality Monitor" width="240" height="180" align="left" /></a>By building my own Air Quality project I hope to be able to reproduce the <span class="caps">AQHI</span> results at a fraction of the price and provide instruction to enable anyone across the province a chance to build their&nbsp;own.</p>
<p>To the left is a photo of the final (but always in a state of flux) result. It is a <span class="caps">GPS</span> enabled device powered by two <span class="caps">AA</span>&#8217;s which senses Air Quality and Ozone. I am currently running tests in a variety of ways. This is a more complex setup than it has to be. Below I&#8217;ll detail both a simple setup and a complex&nbsp;setup.</p>
<p><strong>Simple Air Quality&nbsp;Monitor:</strong></p>
<ul>
<li><a title="Arduino Mini USB" href="http://arduino.cc/en/Main/MiniUSB" target="_blank"><span class="caps">USB</span>-Serial Connection</a>&nbsp;(~$15)</li>
<li><a title="Futurlec Sensors" href="http://www.futurlec.com/Gas_Sensors.shtml" target="_blank">Air Quality Sensor <span class="amp">&amp;</span> Ozone Sensor</a> ($6&nbsp;each)</li>
<li>2 Resistors ($.15 - I&#8217;m using a 15k&nbsp;Ohm)</li>
</ul>
<p>Connect the sensors as illustrated on the <a title="Wiring" href="http://www.wiring.org.co/learning/examples/airQuality_MQ135.html" target="_blank">Wiring.org</a> website. Attach to a computer and upload the data to a provider such as <a title="Pachube" href="http://www.pachube.com/" target="_blank">Pachube</a> to share with the world. (Need an invite? Message&nbsp;me.)</p>
<p><strong>Mobile Air Quality&nbsp;Monitor:</strong></p>
<ul>
<li><a title="Arduino Duemilanove" href="http://arduino.cc/en/Main/ArduinoBoardDuemilanove" target="_blank">Arduino</a>&nbsp;(~$45)</li>
<li><a title="Adafruit" href="http://www.adafruit.com/index.php?main_page=product_info&amp;cPath=17_21&amp;products_id=98" target="_blank"><span class="caps">GPS</span> Sheild</a>&nbsp;($16)</li>
<li><a title="Adafruit" href="http://www.adafruit.com/index.php?main_page=product_info&amp;cPath=18&amp;products_id=99" target="_blank"><span class="caps">GPS</span></a>&nbsp;($60)</li>
<li><span class="caps">SD</span>-Card ($20-60 depending on size - the <span class="caps">SD</span>-Card library uses a <span class="caps">FAT</span>-16 environment, so <span class="caps">1GB</span> is all you&#8217;re going to&nbsp;need)</li>
<li><a title="Adafruit" href="http://www.adafruit.com/index.php?main_page=product_info&amp;cPath=10&amp;products_id=14" target="_blank">MintyBoost</a> ($20 - 12 Hour lifespan for 2 AAs, 3 for a 9V&nbsp;battery)</li>
<li>Air Quality <span class="amp">&amp;</span> Ozone Sensor ($6 each, see above for&nbsp;links)</li>
<li>Batteries (~$5 - I&#8217;d suggest&nbsp;rechargables)</li>
<li>2 Resistors&nbsp;($.15)</li>
</ul>
<p>See above for the sensor connection details, then <a title="Ladyada.net" href="http://www.ladyada.net/make/gpsshield/download.html" target="_blank">download the code</a> to run the <span class="caps">GPS</span> and log the data (plus sensor data). I&#8217;m using the <span class="caps">GPS</span> <span class="caps">CSV</span> logging&nbsp;sketch.</p>
<p>Now for the&nbsp;notes:</p>
<ul>
<li>I have no idea if this is capale of producing valid <span class="caps">AQHI</span> data, I&#8217;m researching this&nbsp;now.</li>
<li>The sensors are not calibrated, the data should only be valid relative to my own readings. I&#8217;d like to make the result reproducible across all sorts of&nbsp;devices.</li>
<li>Particulates are not being measured. Someone suggested taking apart a smoke alarm to dig out the sensor. I still have to try&nbsp;this.</li>
<li>Mapping of my results is coming soon. I intend on using this device in a setting where I can measure the effects on a highway with and without cars in the coming days. I will post the&nbsp;results.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://js-kit.com/rss/eightlines.com/blog/p=187</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Incoming Projects!</title>
		<link>http://www.eightlines.com/blog/2009/06/incoming-projects/</link>
		<comments>http://www.eightlines.com/blog/2009/06/incoming-projects/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 01:59:41 +0000</pubDate>
		<dc:creator>Brent</dc:creator>
				<category><![CDATA[Ideas]]></category>

		<guid isPermaLink="false">http://www.eightlines.com/blog/?p=182</guid>
		<description><![CDATA[Its been a busy couple of months! Through work we&#8217;ve launched the Count Me In Ontario website and an upcoming energy visualization tool in cooperation with the IESO. I&#8217;ve also been busy hacking the Black &#38; Decker Power Monitor with some interesting results. Coincidentally enough, its Clean Air Day and I had to take the [...]]]></description>
			<content:encoded><![CDATA[<p>Its been a busy couple of months! Through <a title="Sonic Boom Creative Media" href="http://www.sonicboom.com/" target="_blank">work</a> we&#8217;ve launched the <a title="Count Me In Ontario" href="http://countmeinontario.ca/" target="_blank">Count Me In Ontario</a> website and an upcoming energy visualization tool in cooperation with the <a title="IESO" href="http://www.ieso.ca/" target="_blank"><span class="caps">IESO</span></a>. I&#8217;ve also been busy hacking the <a title="Black and Decker Power Monitor" href="http://www.blackanddecker.com/Energy/products.aspx" target="_blank">Black <span class="amp">&amp;</span> Decker Power Monitor</a> with some interesting results. Coincidentally enough, its <a title="Clean Air Day Website" href="http://www.cleanairday.com/html/index.php" target="_blank">Clean Air Day</a> and I had to take the day off due to Asthma. All this work in the green sector is really hitting home. So over the next little while I&#8217;m going to break the silence on my latest projects (which have closely paralleled work) hopefully it will make up for the lack of posts. (Note: my <a title="Twitter - Eightlines" href="http://Twitter.com/eightlines" target="_blank">Twitter feed</a> is much more lively&nbsp;lately.)</p>
]]></content:encoded>
			<wfw:commentRss>http://js-kit.com/rss/eightlines.com/blog/p=182</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Coding with a Fork</title>
		<link>http://www.eightlines.com/blog/2009/03/coding-with-a-fork/</link>
		<comments>http://www.eightlines.com/blog/2009/03/coding-with-a-fork/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 02:17:51 +0000</pubDate>
		<dc:creator>Brent</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Found]]></category>
		<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Bespin]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.eightlines.com/blog/?p=173</guid>
		<description><![CDATA[Recently I&#8217;ve been experimenting with online coding tools, wonderfl and Bespin. Essentially both are IDE&#8217;s enabling you to write code with syntax highlighting. Wonderfl enables coding for the Flash environment, while Bespin works in the HTML/JavaScript spectrum. There&#8217;s some pretty immediate differences, Bespin is an attempt at building an environment entirely in Canvas and wonderfl [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been experimenting with online coding tools, <a title="wonderfl web site" href="http://wonderfl.kayac.com/" target="_blank">wonderfl</a> and <a title="wonderfl web site" href="http://wonderfl.kayac.com/" target="_blank"></a><a title="Bespin homepage" href="https://bespin.mozilla.com/" target="_blank">Bespin</a>. Essentially both are <span class="caps">IDE</span>&#8217;s enabling you to write code with syntax highlighting. Wonderfl enables coding for the Flash environment, while Bespin works in the <span class="caps">HTML</span>/JavaScript spectrum. There&#8217;s some pretty immediate differences, Bespin is an attempt at building an environment entirely in Canvas and wonderfl has the ability to generate the Flash piece on the&nbsp;fly.</p>
<p>Where things start getting interesting is when you start to be able to share the code with other developers. This is a more complete feature within wonderfl so for the next little bit I&#8217;ll concentrate on its model. This looks like a feature that will come with Bespin, allowing contributors to participate in Open Source&nbsp;initiatives.</p>
<p>Wonderfl allows the audience to browse other publicly available projects (does a private mode exist?). If they like the code they are free to fork the code and develop it in their own user environment. The owner of the original code is then notified that their code has been forked and is free to observe the changes. Its a smart introduction of social sharing that has always existed in the coding environment, but never to this level of&nbsp;slickness.</p>
<p>Today the guys over at the <a title="Arduino Blog" href="http://arduino.cc/blog/?p=209" target="_blank">Arduino Blog</a> posted this interesting hack enabling Bespin to enable syntax highlighting for Arduino code. Check out the comments, Olle Jonsson has developed a python script that allows you to compile (though still in the initial stages) Arduino code. Wonderfl has already produced some fantastic applications, and Bespin appears to be just getting started. There&#8217;s something significant brewing here, coding in the cloud appears to be something to watch very closely over the next couple of&nbsp;years.</p>
]]></content:encoded>
			<wfw:commentRss>http://js-kit.com/rss/eightlines.com/blog/p=173</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter as the future of event broadcasting?</title>
		<link>http://www.eightlines.com/blog/2009/02/twitter-as-the-future-of-event-broadcasting/</link>
		<comments>http://www.eightlines.com/blog/2009/02/twitter-as-the-future-of-event-broadcasting/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 21:27:23 +0000</pubDate>
		<dc:creator>Brent</dc:creator>
				<category><![CDATA[Ideas]]></category>

		<guid isPermaLink="false">http://www.eightlines.com/blog/?p=162</guid>
		<description><![CDATA[22 hours ago #atoc trended to number 9 on the Twitter trend&#160;chart. The Amgen Tour of California was in its first official leg and it was doused in rain. Cloud cover was so low it kept helicopters grounded and radio transmissions were inconsistent. But the Tweets were coming fast and furious live from the&#160;racecourse. 21 [...]]]></description>
			<content:encoded><![CDATA[<p>22 hours ago #atoc <a title="Twitter Trend" href="http://twitter.com/RealTimeTrends/statuses/1213545105" target="_blank">trended to number 9</a> on the Twitter trend&nbsp;chart.</p>
<p>The <a title="Amgen Tour of California" href="http://www.amgentourofcalifornia.com/" target="_blank">Amgen Tour of California</a> was in its first official leg and it was doused in rain. Cloud cover was so low it kept helicopters grounded and radio transmissions were inconsistent. But the <a title="#atoc" href="http://search.twitter.com/search?q=%23atoc" target="_blank">Tweets</a> were coming fast and furious live from the&nbsp;racecourse.</p>
<p>21 hours ago #atoc trended to&nbsp;#8.</p>
<p>During this time Lance Armstrong of team Astana crashed and photos appears on <a href="http://twitpic.com/1ij15">Twitpic</a>. Live coverage on the Amgen Tour of California website still doesn&#8217;t have any event coverage. The reporters are doing their best to fill in the time by reporting on the Women&#8217;s crit, which had some fabulous footage of the final sprint to the&nbsp;line.</p>
<p>#atoc Trends to #6 during the same&nbsp;hour.</p>
<p><a href="http://twitter.com/JakesJournal/statuses/1213710706">@FredCast</a> (publisher of a fantastic bike podcast) Begins to broadcast on <a title="Qik " href="http://qik.com/" target="_blank">Qik</a> from a team car. Live <span class="caps">TV</span> coverage is spotty, and technical notes are the only news popping up on the tour&nbsp;tracker.</p>
<p>#atoc Trends to #4 later in that&nbsp;hour.</p>
<p>Race reports start to stream in from spectators at the In and Out Burger house, and along the descent reporting time gaps before official sources. <a href="http://twitter.com/johanbruyneel" target="_blank">@johanbruyneel</a> Reports from the Astana team car that race radio is sending out mixed messages. This inevidentally leads to issues in catching Mancebo&#8217;s break from the&nbsp;peloton.</p>
<p>20 hours ago #atoc hits #1 ahead of <span class="caps">NASCAR</span>&#8217;s Daytona&nbsp;500.</p>
<p>By this time the <span class="caps">TV</span> coverage was ground based in Santa Rosa. Camera&#8217;s could cover Mancebo&#8217;s break and the chase of the peloton. The break closed from 2&#8217;30&#8221; to nothing over the last few kilometers. Twitter followers started taking bets. I predicted Mancebo would have been caught,<a href="http://twitter.com/FulSpeed/status/1213712337" target="_blank">@FulSpeed</a> thought otherwise. (We called it a draw at the end of the&nbsp;day.)</p>
<p>In the end Mancebo takes the race. 635 Twitter comments ensued in the following 3&nbsp;hours.</p>
<p>Today, the action continues. And if you needed a ride <a href="http://twitter.com/track_stand/status/1215828884" target="_blank">@track_stand</a> was offering a lift across town on the #atoc feed, but if you&#8217;re reading this now you probably missed&nbsp;it.</p>
]]></content:encoded>
			<wfw:commentRss>http://js-kit.com/rss/eightlines.com/blog/p=162</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Inverse of Compassion</title>
		<link>http://www.eightlines.com/blog/2009/01/the-inverse-of-compassion/</link>
		<comments>http://www.eightlines.com/blog/2009/01/the-inverse-of-compassion/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 16:42:55 +0000</pubDate>
		<dc:creator>Brent</dc:creator>
				<category><![CDATA[Ideas]]></category>

		<guid isPermaLink="false">http://www.eightlines.com/blog/?p=158</guid>
		<description><![CDATA[To further yesterday&#8217;s thought, someone at the office mentions that he read in a Buddhist book the opposite of Compassion is Vexation. Looks like a bit of serendipity is in action&#160;here.]]></description>
			<content:encoded><![CDATA[<p>To further <a title="Designing for Compassion" href="http://www.eightlines.com/blog/2009/01/designing-for-compassion-empathy/" target="_self">yesterday&#8217;s thought</a>, someone at the office mentions that he read in a Buddhist book the opposite of Compassion is Vexation. Looks like a bit of serendipity is in action&nbsp;here.</p>
]]></content:encoded>
			<wfw:commentRss>http://js-kit.com/rss/eightlines.com/blog/p=158</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designing for Compassion, Empathy</title>
		<link>http://www.eightlines.com/blog/2009/01/designing-for-compassion-empathy/</link>
		<comments>http://www.eightlines.com/blog/2009/01/designing-for-compassion-empathy/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 03:17:53 +0000</pubDate>
		<dc:creator>Brent</dc:creator>
				<category><![CDATA[Ideas]]></category>

		<guid isPermaLink="false">http://www.eightlines.com/blog/?p=155</guid>
		<description><![CDATA[Momentum Magazine has an interesting article by John Pucher in their Jan/Feb 2009 issue. Its worth a read by drivers of vehicles and cyclists alike. It led to an interesting lunchtime discussion, and some really interesting ideas pertaining to designing for compassion and empathy. In short, Pucher argues that by having compassion we make our [...]]]></description>
			<content:encoded><![CDATA[<p>Momentum Magazine has an interesting <a title="Momentum Magazine - Cycling on the High Road" href="http://www.momentumplanet.com/cycling-high-road" target="_blank">article by John Pucher</a> in their Jan/Feb 2009 issue. Its worth a read by drivers of vehicles and cyclists alike. It led to an interesting lunchtime discussion, and some really interesting ideas pertaining to designing for compassion and empathy. In short, Pucher argues that by having compassion we make our commute safer and more&nbsp;enjoyable.</p>
<p>Recognizing that drivers of all types of vehicles may or may not be compassionate at any such time, I wonder if the design of vehicles could alter their behaviour. Recalling a presentation by a graphic designer I witnessed, he theorized that by increasing the size of the windows in a car you would make the driver feel more vulnerable. By making the driver feel increasingly vulnerable you heighten their defence mechanism. In turn that driver would reduce their speed, increase space between themselves and any other obstacle, and in general drive with a greater intention of&nbsp;self-preservation.</p>
<p>Observe the design of a bicycle, most bicycles consist of a triangular frame with two wheels (I&#8217;m lumping in recumbents, unicycles and tricycles). In many cases the driver of this vehicle is entirely exposed to their surroundings. Does this make them behave&nbsp;differently?</p>
<p>Tom Vanderbilt author of <a title="Traffic Book" href="http://tomvanderbilt.com/traffic/" target="_blank">Traffic: Why We Drive the Way We Do</a> (a recommended read) <a title="Hazards of Noise" href="http://www.howwedrive.com/2008/11/19/the-hazards-of-silence/" target="_blank">posts about cabin noise</a> and how it is touted as a feature. Instead should it be viewed as a detriment? Does it separate us from our environment thereby inhibiting our senses? Does a departure from our senses equate to reduced&nbsp;compassion?</p>
<p>In a long winded way this gets me to an idea. Would we be able to measure someone&#8217;s compassion or empathy through the environment presented to them in a vehicle. We may not be able to measure empathy, but we could look at contributing factors. Does an increase in tension, aggrivation, lead to reduced compassion? If so this is something we can measure quite&nbsp;easily.</p>
<p>In a previous experiment I was working on a <a title="Eightlines Data Logger" href="http://www.eightlines.com/blog/2008/11/mapping-gps-data/" target="_blank">data logger</a>. If we set up a number of sensors on the steering wheel of a car, the handlebars of a bike, or the gloves of a pedestrian we could measure moisture content, pressure, and posture changes. With a little more advanced setup we could perform eye tracking. The idea being that by comparing results of any given moment against a baseline average we could determine spikes leading to&nbsp;tension.</p>
<p>I&#8217;m theorizing that compassion is a behaviour we&#8217;re usually conscious of. This behaviour would require that we provide the mental faculty to process. In a defensive scenario I wonder if conscious behaviour is low on the priority list. Thereby increased tension would be the inverse of&nbsp;compassion.</p>
<p>Going back to Pucher&#8217;s article, the first step in increasing compassion is being aware of it. If we could create a device that the driver of a vehicle could acknowledge, that might be a starting point to increasing that compassion. Although, I still think the original idea of making the windows bigger is much simpler and doesn&#8217;t require another piece of&nbsp;technology.</p>
]]></content:encoded>
			<wfw:commentRss>http://js-kit.com/rss/eightlines.com/blog/p=155</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
