<?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>HJCotton.net</title>
	<atom:link href="http://hjcotton.net/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://hjcotton.net</link>
	<description></description>
	<lastBuildDate>Sun, 15 Aug 2010 22:04:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Google Power Meter</title>
		<link>http://hjcotton.net/?p=334</link>
		<comments>http://hjcotton.net/?p=334#comments</comments>
		<pubDate>Sun, 15 Aug 2010 22:04:12 +0000</pubDate>
		<dc:creator>hjcotton</dc:creator>
				<category><![CDATA[Tweet-A-Watt]]></category>
		<guid isPermaLink="false">http://hjcotton.net/?p=334</guid>
		<description><![CDATA[I had heard that the Tweet-A-Watt could now be hooked up to Google Power Meter, so I decided to give it a go. It&#8217;s actually pretty easy &#8211; I just followed the instructions here and had it up and running in a few minutes. I have actually been trying to track down the cause of [...]]]></description>
			<content:encoded><![CDATA[<p>I had heard that the Tweet-A-Watt could now be hooked up to <a href="http://www.google.com/powermeter/site/recent">Google Power Meter</a>, so I decided to give it a go. It&#8217;s actually pretty easy &#8211; I just followed the instructions <a href="http://www.ladyada.net/make/tweetawatt/powermeter.html">here</a> and had it up and running in a few minutes.</p>
<p>I have actually been trying to track down the cause of a recent increase in my electricity usage, and it&#8217;s more than likely to be the fault of the dehumidifier in my basement (I have a strong dislike for these things already, necessary though they are). This little guy actually draws a LOT of electricity, but <a href="http://hjcotton.net/?p=94">I already knew that</a>. Still, it will be really useful to see the power usage trends over time and find out what it really costs me to run. Given an average cost per kilowatt hour,  Power Meter will give you some useful figures back about the cost to run a device. Based on my latest bill from PP&amp;L (is it worth switching?), my average cost has been 13 cents / kW h since the rate caps expired in PA.</p>
<p style="text-align: center;"><a href="http://hjcotton.net/wp-content/uploads/2010/08/google_power_meter.jpg"><img class="size-medium wp-image-341  aligncenter" title="google_power_meter" src="http://hjcotton.net/wp-content/uploads/2010/08/google_power_meter-300x125.jpg" alt="google_power_meter" width="300" height="125" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://hjcotton.net/?feed=rss2&amp;p=334</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No need to read the privacy policy</title>
		<link>http://hjcotton.net/?p=330</link>
		<comments>http://hjcotton.net/?p=330#comments</comments>
		<pubDate>Fri, 30 Jul 2010 01:43:51 +0000</pubDate>
		<dc:creator>hjcotton</dc:creator>
				<category><![CDATA[Humorous]]></category>
		<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">http://hjcotton.net/?p=330</guid>
		<description><![CDATA[This is the confirmation dialog that appears when you install the Speed Tracer extension in Google Chrome. &#8220;This extension needs access to: All data on your computer and the websites you visit.&#8221; If only spyware installations were so up front about their intentions!]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">This is the confirmation dialog that appears when you install the Speed Tracer extension in Google Chrome.</p>
<p style="text-align: center;"><a href="http://hjcotton.net/wp-content/uploads/2010/07/GoogleSpeedTracer.jpg"><img class="size-full wp-image-331 aligncenter" title="GoogleSpeedTracer" src="http://hjcotton.net/wp-content/uploads/2010/07/GoogleSpeedTracer.jpg" alt="Google Speed Tracer" width="420" height="215" /></a></p>
<p style="text-align: center;">&#8220;This extension needs access to: All data on your computer and the websites you visit.&#8221;</p>
<p style="text-align: center;">If only spyware installations were so up front about their intentions!</p>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://hjcotton.net/?feed=rss2&amp;p=330</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Attachment filenames containing special characters and cfmailparam</title>
		<link>http://hjcotton.net/?p=323</link>
		<comments>http://hjcotton.net/?p=323#comments</comments>
		<pubDate>Mon, 26 Jul 2010 23:30:41 +0000</pubDate>
		<dc:creator>hjcotton</dc:creator>
				<category><![CDATA[Coldfusion]]></category>
		<guid isPermaLink="false">http://hjcotton.net/?p=323</guid>
		<description><![CDATA[When you use cfmailparam to attach a file to an email being sent within cfmail, you may get an error that the file cannot be found (even when it actually exists). I noticed this particular condition when the attachment filename contained a plus sign &#8216;+&#8217;, but it probably occurs for other special characters as well. [...]]]></description>
			<content:encoded><![CDATA[<p>When you use cfmailparam to attach a file to an email being sent within cfmail, you may get an error that the file cannot be found (even when it actually exists). I noticed this particular condition when the attachment filename contained a plus sign &#8216;+&#8217;, but it probably occurs for other special characters as well. It doesn&#8217;t appear that cfmailparam can handle these well, and they get replaced with spaces. Based on the blog posts I&#8217;ve read, there doesn&#8217;t seem to be a quick workaround.</p>
<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfmail</span> <span style="color: #0000FF;">from</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#fromEmail#&quot;</span> <span style="color: #0000FF;">to</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#toEmail#&quot;</span> subject<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;Email w/ Attachment&quot;</span> <span style="color: #0000FF;">type</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;html&quot;</span><span style="color: #0000FF;">&gt;</span></span>
    I attached this file for your review. I <span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">strong</span><span style="color: #0000FF;">&gt;</span></span>swear<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">strong</span><span style="color: #0000FF;">&gt;</span></span>, it's not a virus!
    <span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfmailparam</span> file<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#ExpandPath('FileC+D.doc')&quot;</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfmail</span><span style="color: #0000FF;">&gt;</span></span></pre></div></div>
<p>The solution I ended up using? Use ReReplace to replace invalid characters. This means that the attachment&#8217;s filename will have to change, but it is the only workaround I could find.</p>
<p>In ColdFusion 7, you&#8217;ll have to do this when the file is uploaded or just prior to it being attached. In 8 and beyond, you may be able to skip that intermediary step of using cffile to copy and save the file in order to get the filename you want. Instead, you may be able to use the content attribute of cfmailparam to feed in the contents of the file and give the content the filename to use, as per Ben Nadel&#8217;s excellent post <a href="http://www.bennadel.com/blog/1220-ColdFusion-CFMailParam-s-New-Content-Attribute-Is-Awesome.htm">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://hjcotton.net/?feed=rss2&amp;p=323</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Socialist!</title>
		<link>http://hjcotton.net/?p=315</link>
		<comments>http://hjcotton.net/?p=315#comments</comments>
		<pubDate>Mon, 26 Jul 2010 01:46:53 +0000</pubDate>
		<dc:creator>hjcotton</dc:creator>
				<category><![CDATA[Humorous]]></category>
		<category><![CDATA[Political]]></category>
		<guid isPermaLink="false">http://hjcotton.net/?p=315</guid>
		<description><![CDATA[Just one of literally dozens of great songs by Roy Zimmerman.]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/CMLgEnDGkG4" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/CMLgEnDGkG4" wmode="transparent"></embed></object></div>
<p style="text-align: center;">
<p style="text-align: center;">Just one of literally dozens of great songs by <a href="http://www.youtube.com/profile?user=RoyZimmerman">Roy Zimmerman</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://hjcotton.net/?feed=rss2&amp;p=315</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Attending NCDevCon?</title>
		<link>http://hjcotton.net/?p=275</link>
		<comments>http://hjcotton.net/?p=275#comments</comments>
		<pubDate>Fri, 02 Apr 2010 00:41:51 +0000</pubDate>
		<dc:creator>hjcotton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://hjcotton.net/?p=275</guid>
		<description><![CDATA[NCDevCon follows on the heels of the free CFinNC held in Raligh, NC last October. I attended CFinNC and was impressed with the overall quality of the conference. Granted, many of the presentations seemed to be re-badged presentations from CFUnited, but in the end, it matters not: you can&#8217;t beat the price for these presentations! [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ncdevcon.com/">NCDevCon</a> follows on the heels of the free <a href="http://cfinnc.com/">CFinNC</a> held in Raligh, NC last October. I attended CFinNC and was impressed with the overall quality of the conference. Granted, many of the presentations seemed to be re-badged presentations from CFUnited, but in the end, it matters not: you can&#8217;t beat the price for these presentations! There are plenty of inexpensive hotels within a few miles of the campus, so even though I&#8217;m an out-of-towner, this conference isn&#8217;t something that breaks the bank! See you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://hjcotton.net/?feed=rss2&amp;p=275</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ruby Arduino Development</title>
		<link>http://hjcotton.net/?p=271</link>
		<comments>http://hjcotton.net/?p=271#comments</comments>
		<pubDate>Fri, 19 Mar 2010 01:32:28 +0000</pubDate>
		<dc:creator>hjcotton</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Ruby]]></category>
		<guid isPermaLink="false">http://hjcotton.net/?p=271</guid>
		<description><![CDATA[My CPRuby presentation from Thursday, March 18 2010: &#8220;Physical Computing with Ruby and Arduino&#8221; RAD-CPRuby03182010.zip]]></description>
			<content:encoded><![CDATA[<p>My CPRuby presentation from Thursday, March 18 2010: &#8220;Physical Computing with Ruby and Arduino&#8221;</p>
<p><a href='http://hjcotton.net/wp-content/uploads/2010/03/RAD-CPRuby03182010.zip'>RAD-CPRuby03182010.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hjcotton.net/?feed=rss2&amp;p=271</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CF9 Ternary Operator</title>
		<link>http://hjcotton.net/?p=251</link>
		<comments>http://hjcotton.net/?p=251#comments</comments>
		<pubDate>Sun, 13 Dec 2009 04:22:18 +0000</pubDate>
		<dc:creator>hjcotton</dc:creator>
				<category><![CDATA[Coldfusion]]></category>
		<guid isPermaLink="false">http://hjcotton.net/?p=251</guid>
		<description><![CDATA[Coldfusion 9 finally has a ternary operator. It&#8217;s certainly a lot prettier to use than an IIF(), and you won&#8217;t have to deal with those odd occasions where you need to use DE() to get things to work. Here&#8217;s an example of how it works in CF9 and the equivalent using an IIF() and a [...]]]></description>
			<content:encoded><![CDATA[<p>Coldfusion 9 <em>finally</em> has a ternary operator. It&#8217;s certainly a lot prettier to use than an IIF(), and you won&#8217;t have to deal with those odd occasions where you need to use DE() to get things to work. Here&#8217;s an example of how it works in CF9 and the equivalent using an IIF() and a standard &#8220;if&#8221; (keep in mind that the loops are to demonstrate performance only &#8211; they are otherwise quite out-of-place):</p>
<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfparam</span> <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;URL.name&quot;</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfparam</span> <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;URL.isLight&quot;</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> startTernary <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">GetTickCount</span><span style="color: #0000FF;">&#40;</span><span style="color: #0000FF;">&#41;</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfloop</span> <span style="color: #0000FF;">from</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;1&quot;</span> <span style="color: #0000FF;">to</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;10000&quot;</span> <span style="color: #0000FF;">index</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;i&quot;</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> beerName <span style="color: #0000FF;">=</span> !URL.isLight? URL.<span style="color: #0000FF;">name</span> <span style="color: #0000FF;">&amp;</span> <span style="color: #009900;">&quot; is a good beer&quot;</span> : <span style="color: #009900;">&quot;No light beers in this list!&quot;</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfloop</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> endTernary <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">GetTickCount</span><span style="color: #0000FF;">&#40;</span><span style="color: #0000FF;">&#41;</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> startIIF <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">GetTickCount</span><span style="color: #0000FF;">&#40;</span><span style="color: #0000FF;">&#41;</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfloop</span> <span style="color: #0000FF;">from</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;1&quot;</span> <span style="color: #0000FF;">to</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;10000&quot;</span> <span style="color: #0000FF;">index</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;i&quot;</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> beerName <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">IIF</span><span style="color: #0000FF;">&#40;</span>!URL.isLight, <span style="color: #009900;">&quot;'#URL.name# is a good beer'&quot;</span>, <span style="color: #009900;">&quot;'No light beers in this list!'&quot;</span><span style="color: #0000FF;">&#41;</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfloop</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> endIIF <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">GetTickCount</span><span style="color: #0000FF;">&#40;</span><span style="color: #0000FF;">&#41;</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> startIf <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">GetTickCount</span><span style="color: #0000FF;">&#40;</span><span style="color: #0000FF;">&#41;</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfloop</span> <span style="color: #0000FF;">from</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;1&quot;</span> <span style="color: #0000FF;">to</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;10000&quot;</span> <span style="color: #0000FF;">index</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;i&quot;</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfif</span> URL.isLight<span style="color: #0000FF;">&gt;</span></span>
		<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> beerName <span style="color: #0000FF;">=</span> <span style="color: #009900;">&quot;No light beers in this list!&quot;</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfelse</span><span style="color: #0000FF;">&gt;</span></span>
		<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> beerName <span style="color: #0000FF;">=</span> <span style="color: #009900;">&quot;#URL.name# is a good beer&quot;</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfif</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfloop</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> endIf <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">GetTickCount</span><span style="color: #0000FF;">&#40;</span><span style="color: #0000FF;">&#41;</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfoutput</span><span style="color: #0000FF;">&gt;</span></span>
	Ternary: #endTernary - startTernary#ms<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">br</span> <span style="color: #0000FF;">/&gt;</span></span>
	IIF: #endIIF - startIIF#ms<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">br</span> <span style="color: #0000FF;">/&gt;</span></span>
	If: #endIf - startIf#ms<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">br</span> <span style="color: #0000FF;">/&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfoutput</span><span style="color: #0000FF;">&gt;</span></span></pre></div></div>
<p>Even over 10,000 iterations, the ternary option is head-to-head with a standard if statement, and only slightly faster than an IIF:<br />
Ternary: 62ms<br />
IIF: 77ms<br />
If: 62ms</p>
<p>I&#8217;ve always heard that IIFs were slow, but I&#8217;ve always found them so handy that I overlooked whatever the performance consequences might be. While noticeable in these tests, it&#8217;s not something that would affect most projects at all. These results are also backed up in <a href="http://www.bennadel.com/blog/162-ColdFusion-IIF-vs-CFIF.htm">this</a> post by Ben Nadel.</p>
<p>I won&#8217;t be using CF9 in a production setting in the immediate future, so until then it&#8217;ll still be IIFs for me. Still, some of these new language improvements and features are definitely worth looking into (even if they should have been added long ago!).</p>
]]></content:encoded>
			<wfw:commentRss>http://hjcotton.net/?feed=rss2&amp;p=251</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WITF Car Donation</title>
		<link>http://hjcotton.net/?p=226</link>
		<comments>http://hjcotton.net/?p=226#comments</comments>
		<pubDate>Sun, 13 Dec 2009 00:01:10 +0000</pubDate>
		<dc:creator>hjcotton</dc:creator>
				<category><![CDATA[Humorous]]></category>
		<guid isPermaLink="false">http://hjcotton.net/?p=226</guid>
		<description><![CDATA[Dear Hadyn, Thanks so much for recently donating your car to public broadcasting through the Car Talk vehicle donation program. Your thoughtfulness resulted in a net gift of $35.00 to WITF. Excellent! Almost enough for a case of good beer&#8230; but not anywhere near what the sticker suggests:]]></description>
			<content:encoded><![CDATA[<blockquote><p>Dear Hadyn,</p>
<p>Thanks so much for recently donating your car to public broadcasting through the Car Talk vehicle donation program. Your thoughtfulness resulted in a net gift of <strong>$35.00</strong> to WITF.</p></blockquote>
<p style="text-align: left;"></p>
<p style="text-align: left;">Excellent! Almost enough for a case of good beer&#8230; but not anywhere near what the sticker suggests:</p>
<p style="text-align: center;"><a href="http://hjcotton.net/?page_id=221&amp;g2_itemId=5127&amp;g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT"><img title="HJ Chevrolet Free2.jpg" src="http://hjcotton.net/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=5128&amp;g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT" alt="HJ Chevrolet Free2.jpg" width="150" height="113" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://hjcotton.net/?feed=rss2&amp;p=226</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abandoned PA Turnpike (PikeToBike Trail)</title>
		<link>http://hjcotton.net/?p=222</link>
		<comments>http://hjcotton.net/?p=222#comments</comments>
		<pubDate>Thu, 05 Nov 2009 01:25:50 +0000</pubDate>
		<dc:creator>hjcotton</dc:creator>
				<category><![CDATA[Adventures]]></category>
		<guid isPermaLink="false">http://hjcotton.net/?p=222</guid>
		<description><![CDATA[Last Saturday, Alison and I headed to see the &#8220;abandoned&#8221; portion of the PA turnpike, which is now an 8.5 mile trail. There&#8217;s all sorts of video and photos online about it, and it surprised me that I hadn&#8217;t even known about it prior to stumbling upon PikeToBike.org while looking up some Appalachian Trail info. [...]]]></description>
			<content:encoded><![CDATA[<p>Last Saturday, Alison and I headed to see the &#8220;abandoned&#8221; portion of the PA turnpike, which is now an 8.5 mile trail. There&#8217;s all sorts of video and photos online about it, and it surprised me that I hadn&#8217;t even known about it prior to stumbling upon <a title="PikeToBike" href="http://piketobike.org/" target="_blank">PikeToBike.org</a> while looking up some Appalachian Trail info. Perhaps the biggest reason it&#8217;s worth going to see is that this section of the turnpike has been abandoned since 1968 and contains both the longest (and shortest) tunnels on the PA turnpike. The whole stretch has kind of a &#8220;Centralia, Highway 61&#8243; feel to it because of the cracked roadway, illegal dumping and ample graffitti, but it is nonetheless quite a cool place to visit.</p>
<p style="text-align: center;"><a href="http://hjcotton.net/?page_id=221&amp;g2_itemId=4962&amp;g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT"><img class="g2image_centered" title="img_4131.jpg" src="http://hjcotton.net/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4990&amp;g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT" alt="img_4131.jpg" width="150" height="113" /></a></p>
<p>PikeToBike has a lot of information about the trail. It&#8217;s not officially open, but is apparently well traveled. We didn&#8217;t encounter anyone the entire time we were there. The Sidling Hill tunnel is supposedly 1.3 miles long (I didn&#8217;t measure) and&#8230; far darker than I expected. The damp tunnels eat light! If darkness weren&#8217;t pressing in from outside, too, I&#8217;d have liked to explore the ends of the tunnels a bit more. There are some huge fans sitting on top of the entrance of the Sidling Hill tunnel that I&#8217;ll have to explore next time. There&#8217;s also an air space in the upper part of the tunnel that can be accessed, which would be pretty cool to get into had I been armed with a more powerful flashlight. It was kind of an eery feeling just walking/riding through this tunnel with such a limited amount of light. For some reason I expected to be crashing into abandoned vehicles, old mattresses and the homeless, but both tunnels are barren throughout. However, the effects of vandalism and time are apparant in the entire length of the tunnels and particularly on the tunnel entrances.</p>
<p>PikeToBike lists some of the projects that would be worthwhile on the property; including paving one of the four lanes (in order to make it accessible via road bike) and adding some minimal lighting the the tunnels. This is on top of tunnel maintenance and repair, which is also pretty badly needed. The roadway is pretty rough but is fine for mountain biking. If you&#8217;re going through the tunnels, bring a real flashlight!</p>
<p>Go check it out for yourself!</p>
]]></content:encoded>
			<wfw:commentRss>http://hjcotton.net/?feed=rss2&amp;p=222</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weekend Project: Tweet-A-Watt</title>
		<link>http://hjcotton.net/?p=183</link>
		<comments>http://hjcotton.net/?p=183#comments</comments>
		<pubDate>Fri, 18 Sep 2009 23:50:51 +0000</pubDate>
		<dc:creator>hjcotton</dc:creator>
				<category><![CDATA[Tweet-A-Watt]]></category>
		<guid isPermaLink="false">http://hjcotton.net/?p=183</guid>
		<description><![CDATA[I&#8217;ve been eying up the Tweet-A-Watt project for a few weeks now. I think the idea is pretty cool, taking an off-the-shelf power monitoring device (a Kill-A-Watt P3) and tying it to a wireless transmitter in order to get the data from the device to a PC. The tweeting part of the project doesn&#8217;t really [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been eying up the <a title="Tweet-A-Watt" href="http://www.ladyada.net/make/tweetawatt/" target="_self">Tweet-A-Watt</a> project for a few weeks now. I think the idea is pretty cool, taking an off-the-shelf power monitoring device (a Kill-A-Watt P3) and tying it to a wireless transmitter in order to get the data from the device to a PC. The tweeting part of the project doesn&#8217;t really interest me, but storing power usage data in a database would let me see some long term trends in electricity usage. I might even be able to quell the feeling I have that the &#8220;Reduce exterior moisture / Save energy&#8221; switch inside of my refrigerator doesn&#8217;t do anything.</p>
<p>What I tackled this past weekend was the construction of the wireless reciever (which plugs into my PC via a USB cable) and the transmitter that gets hooked up to the Kill-A-Watt. The entire parts list and assembly instructions are available from ladyada.net. I opted to get the kit out of simplicity. It&#8217;s a little pricey, but includes everything you need for the project.</p>
<p>The instructions are pretty good. Provided you are alright with a soldering iron, you can manage just fine &#8211; at least up until attaching the power and data wires to four individual pins on the <a title="tiny chip" href="http://forums.adafruit.com/viewtopic.php?f=40&amp;t=11009" target="_self">tiny chip</a> found on newer Kill-A-Watts. That part is a little trying. A helping-hands type device is a must have for a project like this and I know that it made things much easier for me. So did a new, super-tiny tip for my soldering iron.</p>
<p>I put the whole thing together according to the instructions and plugged it in. And&#8230; nothing happened! I got no display on the LCD and the XBee activity light didn&#8217;t blink. The super capacitor takes a while to charge up, but no matter how long I waited, I got no info out of it except for the fact that it would make the standard beeps when the buttons on the front of the unit were pressed. I took it back apart to double check the connections to the tiny chip underneath the LCD display and they seemed fine. I couldn&#8217;t see any possible short circuits, but I did read on the forums that it would be important to cut a pathway halfway through the foam on the underside of the display to let the wires out. I also filed a notch in the side of the PCB so that the wires would not be pinched. The LCD has to sit flat in the right location for it to work at all. I double checked the transmitting XBee and discovered that it was not working. I figured I must have fried it as X-CTU couldn&#8217;t even communicate with it when plugged into the USB cable. There are instructions about how to revive an XBee that has been put into sleep mode on the forums at ladyada.net. I had to perform the process a few times and it eventually started working again. Upon reassembly, I found that the LCD worked &#8211; but there was still no activity light. The LED flashes once when the Kill-A-Watt is plugged in, but that&#8217;s it. It works though, so I&#8217;m not complaining.</p>
<p>For the moment, the wattcher.py script available from ladyada.net is the extent of the logging I&#8217;m doing. By default, it logs to a csv file every five minutes. There is also code for connecting to Twitter and to Google App Engine. Eventually, I&#8217;d like to log to MySQL and display the power usage right on my blog. Someday&#8230;</p>
<p style="text-align: center;"><a href="http://hjcotton.net/?page_id=97&amp;g2_itemId=4944&amp;g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT"><a href="http://hjcotton.net/?page_id=221&amp;g2_itemId=4944"><img title="tweet-a-watt-inside_small" src="http://hjcotton.net/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4945&amp;g2_GALLERYSID=27b89661fcb5b60f56e18ecaef2254a1" alt="tweet-a-watt-inside_small" width="135" height="150" /></a><a href="http://hjcotton.net/?page_id=221&amp;g2_itemId=4948"><img title="tweet-a-watt_small" src="http://hjcotton.net/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4949&amp;g2_GALLERYSID=27b89661fcb5b60f56e18ecaef2254a1" alt="tweet-a-watt_small" width="87" height="150" /></a></a><a href="http://hjcotton.net/?page_id=97&amp;g2_itemId=4948&amp;g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT"> <a href="http://hjcotton.net/?page_id=221&amp;g2_itemId=4951"><img title="datalog_small" src="http://hjcotton.net/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=4952&amp;g2_GALLERYSID=27b89661fcb5b60f56e18ecaef2254a1" alt="datalog_small" width="150" height="75" /></a> </a></p>
<p>Anyway, Tweet-A-Watt is a pretty cool and possibly useful project. It&#8217;s on the expensive side if you go the kit route, but no matter how you build it, you end up with parts that can be used on other projects (mainly, the XBee chips and their adapters) if you ultimately decide that this project is not what it should be.</p>
]]></content:encoded>
			<wfw:commentRss>http://hjcotton.net/?feed=rss2&amp;p=183</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
