<?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>Puck&#039;s Workbench &#187; Humor</title>
	<atom:link href="http://www.e-techgarage.com/Puck/category/humor/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.e-techgarage.com/Puck</link>
	<description>Embedded Geek</description>
	<lastBuildDate>Thu, 22 Apr 2010 00:00:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Rover&#8217;s Nemesis&#8230; the Dread Pipe Bob</title>
		<link>http://www.e-techgarage.com/Puck/2010/01/08/rovers-nemesis-the-dread-pipe-bob/</link>
		<comments>http://www.e-techgarage.com/Puck/2010/01/08/rovers-nemesis-the-dread-pipe-bob/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 20:28:39 +0000</pubDate>
		<dc:creator>Puck</dc:creator>
				<category><![CDATA[C Programming]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Rover]]></category>

		<guid isPermaLink="false">http://www.e-techgarage.com/Puck/?p=531</guid>
		<description><![CDATA[If you have been watching RoverLord&#8217;s videos you may notice we commonly drop him on the floor outside Larry&#8217;s cube to run down the hall of the cube farm.  Down this hall of danger and crisis lives RoverLORD&#8217;s greatest nemesis, Bob C.P.
Bob is the conduit pipe running along the wall and he and the wall [...]]]></description>
			<content:encoded><![CDATA[<p>If you have been watching RoverLord&#8217;s videos you may notice we commonly drop him on the floor outside Larry&#8217;s cube to run down the hall of the cube farm.  Down this hall of danger and crisis lives RoverLORD&#8217;s greatest nemesis, <span style="color: #ff0000;"><strong>Bob C.P.</strong></span></p>
<p>Bob is the conduit pipe running along the wall and he and the wall space he claims for himself tend to give RoverLORD fits when it comes to collision avoidance.</p>
<div id="attachment_532" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/01/Bob_The_Pole.jpg"><img class="size-medium wp-image-532 " style="border: 1px solid black;" title="Bob_The_Pole" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/01/Bob_The_Pole-300x225.jpg" alt="Bob the Conduit Pole, Nemesis of RoverLORD" width="300" height="225" /></a><p class="wp-caption-text">Bob the Conduit Pole, Nemesis of RoverLORD</p></div>
<p>I chose the name &#8216;Bob&#8217; because what RoverLORD calls him is not printable in a blog.</p>
<p style="text-align: left;">
<div id="attachment_534" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/01/Bob_Police_Sketch.JPG"><img class="size-medium wp-image-534 " style="border: 1px solid black;" title="Bob_Police_Sketch" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/01/Bob_Police_Sketch-300x260.jpg" alt="RoverLORD's interpretation of Bob the Pole" width="300" height="260" /></a><p class="wp-caption-text">RoverLORD&#39;s interpretation of Bob C.P.</p></div>
<p style="text-align: left;">We have been working on new Collision Avoidance algorithms in the never ending battle between Bob and RoverLORD.  Before the robot can conquer the earth, he must first defeat<span style="color: #ff0000;"><strong> Bob</strong></span> <span style="color: #ff0000;"><strong>C.P.</strong></span> and his <span style="color: #ff0000;"><strong>Wall of Death</strong></span>.</p>
<p style="text-align: left;">
<div id="attachment_535" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/01/Rover_and_Bob.jpg"><img class="size-medium wp-image-535 " style="border: 1px solid black;" title="Rover_and_Bob" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/01/Rover_and_Bob-300x225.jpg" alt="Rover versus Bob for World Domination" width="300" height="225" /></a><p class="wp-caption-text">Rover versus Bob for World Domination</p></div>
<h1 style="text-align: left;">New Algorithm</h1>
<p>We have updated the algorithm to take advantage of the new mobile SONAR turret:</p>
<ul>
<li>Loop Forever
<ul>
<li>Test for Obstacle</li>
<li>If Obstacle Detected
<ol>
<li>Stop</li>
<li>Retreat</li>
<li>Sweep the SONAR 180 degrees looking for obstacles
<ol>
<li>Read SONAR Left</li>
<li>Read SONAR Center</li>
<li>Read SONAR Right</li>
<li>Compare who has the closest obstacle</li>
</ol>
</li>
<li>Turn away from obstacle</li>
</ol>
</li>
<li>Travel Forward</li>
</ul>
</li>
</ul>
<h1 style="text-align: left;">Videos 25 and 26</h1>
<p>At least in these Algorithms, <span style="color: #ff0000;"><strong>Bob C.P.</strong></span> and the <span style="color: #ff0000;"><strong>Wall of the Death</strong></span> still have the upper hand.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="445" height="364" 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://www.youtube.com/v/rFYsFnJ0yag&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="445" height="364" src="http://www.youtube.com/v/rFYsFnJ0yag&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h1>Rover locked in a desperate battle to escape Bob&#8217;s Wall of Death.</h1>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="445" height="364" 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://www.youtube.com/v/yNZ4PfnADMc&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="445" height="364" src="http://www.youtube.com/v/yNZ4PfnADMc&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-techgarage.com/Puck/2010/01/08/rovers-nemesis-the-dread-pipe-bob/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Curse of the Nearsighted Robot</title>
		<link>http://www.e-techgarage.com/Puck/2010/01/05/the-curse-of-the-nearsighted-robot/</link>
		<comments>http://www.e-techgarage.com/Puck/2010/01/05/the-curse-of-the-nearsighted-robot/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 18:23:09 +0000</pubDate>
		<dc:creator>Puck</dc:creator>
				<category><![CDATA[Analog Circuits]]></category>
		<category><![CDATA[C Programming]]></category>
		<category><![CDATA[Circuits]]></category>
		<category><![CDATA[Digital Circuits]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Rover]]></category>

		<guid isPermaLink="false">http://www.e-techgarage.com/Puck/?p=501</guid>
		<description><![CDATA[As you have seen from the videos we posted yesterday, there were issues getting the SONAR sensor on-line and working correctly.  The expected behavior would be basic wall-hugging always turning right (or clockwise).
(For those of you just wanting to see the Rover avoid obstacles without any of the engineering comedy, just skip to the bottom.)
The [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_502" class="wp-caption aligncenter" style="width: 469px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/01/Rover_w_glasses.bmp"><img class="size-full wp-image-502" title="Rover_w_glasses" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/01/Rover_w_glasses.bmp" alt="The Nearsighted and Slightly Nervouse Rover" width="459" height="330" /></a><p class="wp-caption-text">The Nearsighted and Slightly Nervous Rover</p></div>
<p style="text-align: left;">As you have seen from <a title="SONAR failing!" href="http://www.e-techgarage.com/Puck/2010/01/04/sonar-tests-things-never-work-the-first-time/">the videos we posted yesterday</a>, there were issues getting the SONAR sensor on-line and working correctly.  The expected behavior would be basic wall-hugging always turning right (or clockwise).</p>
<p style="text-align: left;">(For those of you just wanting to see the Rover avoid obstacles without any of the engineering comedy, just skip to the bottom.)</p>
<h2 style="text-align: left;">The Basic Collision Avoidance Algorithm</h2>
<p>Here is the program logic laid out in pseudo code:</p>
<ul>
<li>Loop Forever
<ul>
<li>Read Sensor – Is there an obstacle?
<ul>
<li>If yes – turn right</li>
<li>If no – Travel forward</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>Reading the SONAR Sensor</h2>
<p>We were stashing the sensor data into a signed integer which should be an early clue for those who have done this kind of work before.</p>
<p>Unfortunately, the raw SONAR sensor data had a lot of noise and a typical sequence of reads would look like this:</p>
<ol>
<li>SRF05Echo = 4979</li>
<li>SRF05Echo = 4950</li>
<li>SRF05Echo =    1</li>
<li>SRF05Echo =    4</li>
<li>SRF05Echo =    3</li>
<li>SRF05Echo =    1</li>
<li>SRF05Echo =    1</li>
<li>SRF05Echo =    1</li>
<li>SRF05Echo =    1</li>
<li>SRF05Echo = 5008</li>
</ol>
<p>While our typical reads are in the 4-5 thousand range we see these outlying glitches popping up that could easily skew our results.  You can call the glitches “sensor noise”. One of the tricks to sensors is the tuning and we set up two kinds of filtering to help us clean up this noise.</p>
<h2>Filter 1 &#8211; Toss out the Low Stuff</h2>
<p>First, we set a lower threshold on the sensor readings to 300.  Anything lower than 300, we automatically toss out.  For the sensor, a value of 300 is equivalent to about 2 inches and with the sensor set a bit back on the chassis that gives us an ideal range for detecting obstacles.</p>
<p style="text-align: center;">150 sensor units = 1 inch</p>
<h2>Filter 2 &#8211; Build a Smooth Average</h2>
<p>Next, we wanted to smooth out the data in order to minimize the effect of noise.  By taking 4 readings and averaging the values, we can reduce the effect of any single bad sensor read.</p>
<p style="padding-left: 30px;"><strong>Step 1 – Add 4 values together:</strong></p>
<p style="padding-left: 30px;">Sensor_data_1 + Sensor_data_2 + Sensor_data_3 + Sensor_data_4 = Sensor_Data</p>
<p style="padding-left: 30px;"><strong>Step 2 – Divide the sum by 4 to get an average value:</strong></p>
<p style="padding-left: 30px;">Sensor_Data = Sensor_Data / 4</p>
<h2>We must be Brilliant!</h2>
<p>Here is another set of data with both of the filters applied:</p>
<ol>
<li>SRF05Echo = 3518</li>
<li>SRF05Echo = 3518</li>
<li>SRF05Echo = 3518</li>
<li>SRF05Echo = 3518</li>
<li>SRF05Echo = 3518</li>
<li>SRF05Echo = 3518</li>
<li>SRF05Echo = 3518</li>
<li>SRF05Echo = 3568</li>
<li>SRF05Echo = 3568</li>
<li>SRF05Echo = 3568</li>
</ol>
<p>As you can see, this is much more consistent data.</p>
<p>So with all this clever thinking where did we go wrong?  (Or to return to the <a href="http://www.e-techgarage.com/Puck/2010/01/04/sonar-tests-things-never-work-the-first-time/">Wile E. Coyote metaphor</a> where did the falling anvil come from?)</p>
<h2>Maybe not so Brilliant?</h2>
<p>The averaging filter works great for low values.  When we did our bench tests it worked like a dream but as soon as we plopped the little guy onto the test track he starting spinning around randomly.</p>
<p>The SONAR has a maximum range of about 12 feet.  If one inch is equivalent to 150 from the SONAR sensor we can crank a little math to see what our long range sensor reads will look like:</p>
<p style="text-align: center;"><strong> </strong>12 ft. x (12 inches/1 ft.) x (150 sensor units/ 1 inch) = <span style="color: #ff0000;"><strong>21600 sensor units at 12 feet</strong></span></p>
<p>If you have encountered this error before you are probably smirking at this point but for the benefit of everyone else let’s follow this logic to its head-on-anvil conclusion by sending the data into our averaging filter.</p>
<p style="text-align: center;">21600 + 21600 + 21600 + 21600 = 86400</p>
<p style="text-align: center;">86400 / 4 = 21600</p>
<p>Looks great doesn’t it?</p>
<p>Nope.</p>
<p>What we found after extensive testing is that when the sensor readings got too high, they became negative.  That is a classic sign that you have overrun your data variable which in our case was a signed integer.  A 16-bit signed integer goes from -32,768 up to 32,767.</p>
<p>As soon as we passed the integer&#8217;s upper limit (32,767) when we tried to add beyond it, the number stored in the integer rolled over into the negative range in the same way an old Chevy would roll the odometer back to zero when you hit 999,999 miles.</p>
<p>What this meant in plain English was that RoverLORD could see pretty well at short distances but would immediately panic if he couldn’t detect anything nearby.  We had created a <span style="color: #ff0000;"><strong>nervous and nearsighted robot</strong></span>.</p>
<h2>Nope, We&#8217;re Brilliant Again</h2>
<p>We found the error while watching the raw sensor data and fixed RoverLORD’s vision by swapping the signed integer for a much bigger unsigned long variable.  With that change the SONAR works as planned.</p>
<p>You can see the successful SONAR tests working here with the same right-turning algorithm described above.</p>
<h2>Videos of Collision Avoidance</h2>
<p><img src="file:///C:/DOCUME%7E1/pcurtis/LOCALS%7E1/Temp/moz-screenshot.png" alt="" /><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="445" height="364" 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://www.youtube.com/v/mUsXM-LG818&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="445" height="364" src="http://www.youtube.com/v/mUsXM-LG818&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="445" height="364" 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://www.youtube.com/v/uhWD25OOQTE&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="445" height="364" src="http://www.youtube.com/v/uhWD25OOQTE&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-techgarage.com/Puck/2010/01/05/the-curse-of-the-nearsighted-robot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Robot Overlord?</title>
		<link>http://www.e-techgarage.com/Puck/2009/12/10/robot-overlord/</link>
		<comments>http://www.e-techgarage.com/Puck/2009/12/10/robot-overlord/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 23:37:45 +0000</pubDate>
		<dc:creator>Puck</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[Rover]]></category>

		<guid isPermaLink="false">http://www.e-techgarage.com/Puck/?p=176</guid>
		<description><![CDATA[My friends have been giving me some grief about the rover and as an engineer it is only ethical of me to warn you.  If struck by lightning, he may acquire sentience and conquer the earth as a robot overlord.

We must respectfully acknowledge that even while it is much more likely that a lightning strike [...]]]></description>
			<content:encoded><![CDATA[<p>My friends have been giving me some grief about the rover and as an engineer it is only ethical of me to warn you.  If struck by lightning, he may acquire sentience and conquer the earth as a robot overlord.</p>
<div id="attachment_413" class="wp-caption aligncenter" style="width: 546px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2009/12/RoverLORD.bmp"><img class="size-full wp-image-413" style="border: 1px solid black;" title="RoverLORD" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2009/12/RoverLORD.bmp" alt="Hypothetical image of the rover overlord acknowledging the minions of his robot empire." width="536" height="378" /></a><p class="wp-caption-text">Hypothetical image of the Rover Emperor acknowledging his minions.</p></div>
<p style="text-align: center;">
<p>We must respectfully acknowledge that even while it is much more likely that a lightning strike would send his robot bits accelerating in different directions at high velocities, the eventual conquest of the earth is also one remote possibility.</p>
<p>With that in mind, I have created my own pet name for the Rover:</p>
<p>Rover:</p>
<ul>
<li>Light</li>
<li>Operational</li>
<li>Reconnasiance</li>
<li>Droid</li>
</ul>
<p>Or RoverLORD.</p>
<p>Hopefully, if he does acquire sentience, I get to be his first minion which I can add to my resume.</p>
<p style="text-align: center;"><strong>Puck Curtis</strong></p>
<p style="text-align: center;"><em>Electrical and Computer Engineer specializing in Embedded Systems</em></p>
<ul>
<li>Employee of Digi International</li>
<li>Degree in Electrical Engineering from Oklahoma State University</li>
<li>Minion of RoverLORD</li>
</ul>
<p>etc. etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-techgarage.com/Puck/2009/12/10/robot-overlord/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The 5 Stages of Engineering Grief</title>
		<link>http://www.e-techgarage.com/Puck/2009/12/02/the-5-stages-of-engineering-grief/</link>
		<comments>http://www.e-techgarage.com/Puck/2009/12/02/the-5-stages-of-engineering-grief/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 22:37:34 +0000</pubDate>
		<dc:creator>Puck</dc:creator>
				<category><![CDATA[Humor]]></category>

		<guid isPermaLink="false">http://www.e-techgarage.com/Puck/?p=152</guid>
		<description><![CDATA[Engineers have a different perspective on life in general and when it comes to a technical problem, engineers are like wild rabid dogs.  They lock their jaws onto something and keep shaking until it comes apart.
This can cause no end of concern to the people around them.   During the problem-solving process the engineer can [...]]]></description>
			<content:encoded><![CDATA[<p>Engineers have a different perspective on life in general and when it comes to a technical problem, engineers are like wild rabid dogs.  They lock their jaws onto something and keep shaking until it comes apart.</p>
<div id="attachment_156" class="wp-caption aligncenter" style="width: 200px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2009/12/Sad_Face.JPG"><img class="size-full wp-image-156" title="Sad_Face" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2009/12/Sad_Face.JPG" alt="Engineer Face" width="190" height="190" /></a><p class="wp-caption-text">Engineer Face</p></div>
<p>This can cause no end of concern to the people around them.   During the problem-solving process the engineer can encounter all of  <a href="http://en.wikipedia.org/wiki/Elisabeth_K%C3%BCbler-Ross">Elisabeth Kübler-Ross&#8217;</a> <a href="http://en.wikipedia.org/wiki/On_Death_and_Dying">stages of grieving</a>:</p>
<ul>
<li><strong>Denial</strong>
<ul>
<li>This project is going to be a breeze!</li>
<li>It&#8217;ll be on time and under budget!</li>
<li>It&#8217;s even almost finished, I just need to comment the code.</li>
</ul>
</li>
<li><strong>Anger</strong>
<ul>
<li>This documentation is terrible!!</li>
<li>Who wrote this code!!</li>
<li>Why won&#8217;t that <em>#*!@</em> pin toggle!</li>
</ul>
</li>
<li><strong>Bargaining</strong>
<ul>
<li>If I press my finger against this filtering cap, the code compiles&#8230; maybe I could just keep my finger there forever?</li>
<li>I just need two more weeks to finish this up and to comment the code.</li>
</ul>
</li>
<li><strong>Depression </strong>
<ul>
<li>I hate this project.</li>
<li> I hate this job.</li>
<li>I hate my life.</li>
</ul>
</li>
<li><strong>Acceptance</strong>
<ul>
<li>The code really explains itself&#8230; comments would only be overkill.</li>
<li>Just ship it.</li>
</ul>
</li>
</ul>
<p>My advice is to respect the engineer&#8217;s grieving process and provide him or her plenty of space.  I don&#8217;t want to sound too critical of my species, but engineers have a blast radius and sometimes it is best to <strong>stand at a minimum safe distance</strong>.  I&#8217;m not being entirely figurative here either&#8230; Sometimes we literally blow things up.</p>
<div id="attachment_157" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2009/12/Oops.JPG"><img class="size-medium wp-image-157 " style="border: 1px solid black;" title="Oops!" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2009/12/Oops-300x241.jpg" alt="&quot;Am I missing an eyebrow?&quot; ~ Adam Savage" width="300" height="241" /></a><p class="wp-caption-text">&quot;Am I missing an eyebrow?&quot; ~ Adam Savage</p></div>
<p>The good news is that when things work, we either giggle or laugh like evil geniuses.</p>
<div id="attachment_159" class="wp-caption aligncenter" style="width: 207px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2009/12/Happy.JPG"><img class="size-full wp-image-159" title="Happy" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2009/12/Happy.JPG" alt="The &quot;Bwa-Ha-ha-ha&quot; moment" width="197" height="202" /></a><p class="wp-caption-text">The &quot;Bwa-Ha-ha-ha&quot; moment</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.e-techgarage.com/Puck/2009/12/02/the-5-stages-of-engineering-grief/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
