<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>CoderJoe.net</title>
	
	<link>http://www.coderjoe.net</link>
	<description>Me, myself, and my code.</description>
	<pubDate>Fri, 12 Sep 2008 12:50:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<geo:lat>43.087613</geo:lat><geo:long>-77.635205</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/coderjoe" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcoderjoe" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcoderjoe" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcoderjoe" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.rojo.com/add-subscription?resource=http%3A%2F%2Ffeeds.feedburner.com%2Fcoderjoe" src="http://blog.rojo.com/RojoWideRed.gif">Subscribe with Rojo</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/coderjoe" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcoderjoe" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fcoderjoe" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcoderjoe" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:browserFriendly>Welcome to my development blog. Expect to see updates regarding my personal projects and educational explorations.</feedburner:browserFriendly><item>
		<title>Google Chrome’s Terms of Service: They want your stuff?</title>
		<link>http://www.coderjoe.net/archive/2008/09/03/google-chromes-terms-of-service-they-want-your-stuff/</link>
		<comments>http://www.coderjoe.net/archive/2008/09/03/google-chromes-terms-of-service-they-want-your-stuff/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 18:07:13 +0000</pubDate>
		<dc:creator>coderjoe</dc:creator>
		
		<category><![CDATA[Life]]></category>

		<category><![CDATA[chrome]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[rant]]></category>

		<category><![CDATA[rights]]></category>

		<category><![CDATA[terms of service]]></category>

		<guid isPermaLink="false">http://www.coderjoe.net/?p=142</guid>
		<description><![CDATA[UPDATE: The Terms of Service have been updated as of September 4th 2008 to state that you retain the rights and copyright on all things displayed with or through &#8220;The Service&#8221;. The EULA is no longer a problem and I look forward to giving Chrome an in depth try. (See the EULA here: http://www.google.com/chrome/eula.html)
How often [...]]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE: The Terms of Service have been updated as of September 4th 2008 to state that you retain the rights and copyright on all things displayed with or through &#8220;The Service&#8221;. The EULA is no longer a problem and I look forward to giving Chrome an in depth try. (See the EULA here:</strong> <a title="http://www.google.com/chrome/eula.html" href="http://www.google.com/chrome/eula.html" target="_blank">http://www.google.com/chrome/eula.html</a>)</p>
<p>How often have you tried to install an application only to be stopped by a dialog asking you to agree to some terms of service (TOS), or an end user license agreement (EULA)?<br />
Now how often do you actually take the time to read through these terms to see what you&#8217;re agreeing to?</p>
<p><span id="more-142"></span></p>
<p>When I switched to Linux for my day to day computing I did not miss these constant reminders that my ability to use my computer was being impeded by some faceless corporate entity somewhere. I quickly became interested in the content of these agreements that I used to click through without a passing thought, and I was surprised at what I found.</p>
<p>Many of these agreements are almost exactly the same; they all contain the same boiler plate legalese defining the terms used in the agreement, and protecting the company from frivolous lawsuits. In the case of web services, the standard TOS will also protect the company from content you post on their service, as well as protect them from you should you find something objectionable on their service. Some sites which are used to archive or distribute your content on the web, such as deviantART, Flickr, or many Google services, also grant themselves royalty-free non-exclusive rights to reproduce, distribute, or perform your works. This essentially prevents them from people who don&#8217;t understand that in order to present this content to the web at large, they need to make a copy.</p>
<p>In the majority of cases, pieces of desktop software do not contain the same royalty-free distribution clauses as web applications (with the exception of software designed to use the web services) because they don’t need your content. They’ll still protect themselves from reverse-engineering and hacking, but not much else more.</p>
<p>However, when reading Google Chrome’s terms of service I couldn’t help but notice a slight difference. Unlike the desktop applications I was used to, this terms of service seems to treat the application like a service!</p>
<p>Throughout the document you’re reminded of the rights granted to you while using the “Service”. Nowhere in the document is a distinction made between Google Chrome and Google’s services. As a result we end up with some curious phrases granting some rather astonishing rights to google.</p>
<p>Take the following for example:</p>
<blockquote><p>11. Content license from you</p>
<p>11.1 You retain copyright and any other rights you already hold in Content which you submit, post or display on or through, the Services. By submitting, posting or displaying the content you give Google a perpetual, irrevocable, worldwide, royalty-free, and non-exclusive license to reproduce, adapt, modify, translate, publish, publicly perform, publicly display and distribute any Content which you submit, post or display on or through, the Services. This license is for the sole purpose of enabling Google to display, distribute and promote the Services and may be revoked for certain Services as defined in the Additional Terms of those Services.</p></blockquote>
<p>What that says to me, is that any content I display or submit using Google Chrome I grant Google the right to use to display, distribute, and promote Google Chrome.</p>
<p>But wait, what if I use Google Chrome to access my web based source repository? Do I grant Google the right to display and distribute the source code viewed to promote their product? What if I’m an artist, and I preview some files for web viewing in Google Chrome. Do I grant Google the rights to these images for promotional purposes?</p>
<p>It is due to these concerns that I sent the following letter as part of my uninstall questionnaire:</p>
<blockquote><p>I am not happy with one fairly critical decision made for Chrome distribution: The Terms of Service.</p>
<p>I do not like the idea that Google Chrome will automatically download and update itself for me as described in the terms of service.</p>
<p>In addition to the above, the overzealous use of the term &#8220;Service&#8221; to describe everything Google does, (presumably including Chrome since no language states otherwise) thereby granting Google trademark free and royalty free rights to my content is completely unacceptable.</p>
<p>While I do not believe that the Terms of Service were penned with malicious intent, but the danger is there and I must avoid it.</p>
<p>Other than the issues with the Terms of Service I found Chrome quite nice, but I can&#8217;t risk sacrificing the rights to my content for the sake of a new web browser. Unfortunately that means my opinion of Chrome will only change when the Terms of Service do.</p>
<p>I can&#8217;t help but think only semi-sarcastically, &#8220;Why does a project supposedly fueled with such an Open Source mindset have such a draconian license anyway?&#8221;</p>
<p>Sincerely,<br />
Joseph Bauser</p></blockquote>
<p>While I’m positive the TOS was not penned with malicious intent, I can’t use any product or service which grants such far-reaching rights to its creators. If Google chooses to modify their Terms of Service for Chrome, I’d be happy to give it an honest trial.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/coderjoe?a=jghD6L"><img src="http://feeds.feedburner.com/~f/coderjoe?i=jghD6L" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/coderjoe?a=PZ2s7L"><img src="http://feeds.feedburner.com/~f/coderjoe?i=PZ2s7L" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjoe/~4/382579805" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coderjoe.net/archive/2008/09/03/google-chromes-terms-of-service-they-want-your-stuff/feed/</wfw:commentRss>
		</item>
		<item>
		<title>When Recruiting Goes Wonderfully Wrong</title>
		<link>http://www.coderjoe.net/archive/2008/07/19/when-recruiting-goes-wonderfully-wrong/</link>
		<comments>http://www.coderjoe.net/archive/2008/07/19/when-recruiting-goes-wonderfully-wrong/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 20:11:57 +0000</pubDate>
		<dc:creator>coderjoe</dc:creator>
		
		<category><![CDATA[Life]]></category>

		<category><![CDATA[Other Interesting Links]]></category>

		<category><![CDATA[funny]]></category>

		<category><![CDATA[meme]]></category>

		<category><![CDATA[pradipta 416]]></category>

		<category><![CDATA[recruiting]]></category>

		<guid isPermaLink="false">http://www.coderjoe.net/?p=132</guid>
		<description><![CDATA[The Pradipta 416 caused all of this in less than 24 hours. This is why I love the internet.
http://groups.google.com/group/pradiptas-rolodex


For the full story see here: 416 Random People with RoR&#8230;
]]></description>
			<content:encoded><![CDATA[<p>The Pradipta 416 caused all of this in less than 24 hours. This is why I love the internet.</p>
<p><a title="http://groups.google.com/group/pradiptas-rolodex" href="http://groups.google.com/group/pradiptas-rolodex" target="_blank">http://groups.google.com/group/pradiptas-rolodex</a></p>
<p><a title="Proud Member of the Pradipta 416" href="http://thepradipta416.com"><br />
<img src="http://thepradipta416.com/img/badge1.gif" alt="The Few, The Proud, The Pradipta 416" /></a></p>
<p>For the full story see here: <a title="416 Random People with RoR..." href="http://blog.reverberate.org/2008/07/17/416-random-people-with-ror-on-their-resume-reply-all-reverse-flash-mob/" target="_blank">416 Random People with RoR&#8230;</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/coderjoe?a=tUoKJJ"><img src="http://feeds.feedburner.com/~f/coderjoe?i=tUoKJJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/coderjoe?a=rRy4MJ"><img src="http://feeds.feedburner.com/~f/coderjoe?i=rRy4MJ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjoe/~4/340110049" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coderjoe.net/archive/2008/07/19/when-recruiting-goes-wonderfully-wrong/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Hobby: Hi-Tech Treasure Hunting!</title>
		<link>http://www.coderjoe.net/archive/2008/06/08/new-hobby-hi-tech-treasure-hunting/</link>
		<comments>http://www.coderjoe.net/archive/2008/06/08/new-hobby-hi-tech-treasure-hunting/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 04:01:43 +0000</pubDate>
		<dc:creator>coderjoe</dc:creator>
		
		<category><![CDATA[Life]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[geocaching]]></category>

		<category><![CDATA[gps]]></category>

		<category><![CDATA[hiking]]></category>

		<category><![CDATA[treasure hunting]]></category>

		<guid isPermaLink="false">http://www.coderjoe.net/?p=128</guid>
		<description><![CDATA[What do you do when you have a GPS receiver, the internet, and a penchant for treasure hunting? You go Geocaching! Geocaching is a game where you quite literally use multi-million dollar satellites to hunt for boxes in the woods.
The game works as follows:

First you log into the Official Geocaching website (geocaching.com).
Enter your zip code [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0in;"><a href="http://www.coderjoe.net/wp-content/uploads/2008/06/lovebugs.jpg"><img class="alignright size-medium wp-image-129" title="Geocaching: Love Bugs" src="http://www.coderjoe.net/wp-content/uploads/2008/06/lovebugs.jpg" alt="Two caterpillers relaxing" width="240" height="180" /></a>What do you do when you have a GPS receiver, the internet, and a penchant for treasure hunting? You go Geocaching! Geocaching is a game where you quite literally use multi-million dollar satellites to hunt for boxes in the woods.</p>
<p style="margin-bottom: 0in;">The game works as follows:</p>
<ol>
<li>First you log into the Official Geocaching website (geocaching.com).</li>
<li>Enter your zip code to find all of the caches near where you live.</li>
<li>Put a few cache locations onto your GPS, and go hunting!</li>
</ol>
<p style="margin-bottom: 0in;"><a href="http://www.coderjoe.net/wp-content/uploads/2008/06/bluff2.jpg"><img class="alignleft size-medium wp-image-130" title="View from a Bluff" src="http://www.coderjoe.net/wp-content/uploads/2008/06/bluff2-300x225.jpg" alt="Curiously enough, this bluff is located right above where I work!" width="300" height="225" /></a>The caches themselves range in size from magnetic key holders to ammo boxes painted and marked with the word “Geocache”. All caches contain a small logbook where finders can sign the date of their find, their nickname, and maybe even a quick description of the fun they had hunting.</p>
<p style="margin-bottom: 0in;">Some of the larger caches are variable treasure troves of trinkets. Geocachers follow a policy of trade equal or trade up. This means that if you stumble upon a cache with a nifty goody you&#8217;d like to snag, you must trade that item for something of equal or greater value. This ensures the boxes stay stocked with things to keep everybody entertained.</p>
<p style="margin-bottom: 0in;">The caches themselves vary in difficulty from easy to find, to incredibly hard. To make matters worse, since some people may frown upon the idea of geocaching, you generally must stay as inconspicuous as possible while caching. After all, the last thing you&#8217;d want to do is give away the cache to someone else hunting, or even worse be witnessed re-hiding the cache only to have it stolen.</p>
<p style="margin-bottom: 0in;"><a href="http://www.coderjoe.net/wp-content/uploads/2008/06/wheresjodo.jpg"><img class="alignright size-medium wp-image-131" title="Stump with Mushrooms" src="http://www.coderjoe.net/wp-content/uploads/2008/06/wheresjodo-225x300.jpg" alt="Just a stump.. and me hidden in the background." width="225" height="300" /></a>The number of people enjoying this interesting hobby is often surprising. Chances are if you&#8217;re out caching you&#8217;ll bump into another person doing the same. Caches are so wide spread that if you&#8217;re anywhere any park, or city, chances are you walk right bye more than a few each day.</p>
<p style="margin-bottom: 0in;">I began caching with a few friends from work known on geocaching.com as DrDonut and Raegx. Since then our caching adventures have taken us to various beautiful parks around the Rochester area. I&#8217;ve even revisited some of my favorite spots from high school only to discover caches present in the area.</p>
<p style="margin-bottom: 0in;">The joy of the find and neat swag aside, the real fun of Geocaching comes from the community itself. The game itself is entirely community run. Geocachers make the caches and post them to the site. Geocachers find the caches. Geocachers police the caches and warn people when they need maintenance. But most importantly, geocachers all seem to be cut from the same adventurous cloth.</p>
<p style="margin-bottom: 0in;">An overbearing theme for all caches seems to be to get you to look at your world a little differently. Many caches are placed in such a way that they will take you somewhere you might never know existed. Walking the trail, or even a bit off the beaten path, you&#8217;re sure to see something cool and have a good deal of fun.</p>
<p style="margin-bottom: 0in;">Happy caching!</p>
<p style="margin-bottom: 0in;"><img src="http://img.geocaching.com/stats/img.aspx?txt=View+my+profile&amp;uid=b98c72fe-0237-40b7-bfae-d002eb08a7e0" alt="" /></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/coderjoe?a=A6h2uI"><img src="http://feeds.feedburner.com/~f/coderjoe?i=A6h2uI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/coderjoe?a=VdHS2I"><img src="http://feeds.feedburner.com/~f/coderjoe?i=VdHS2I" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjoe/~4/307741882" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coderjoe.net/archive/2008/06/08/new-hobby-hi-tech-treasure-hunting/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Road Runner is at it again…</title>
		<link>http://www.coderjoe.net/archive/2008/03/30/road-runner-is-at-it-again-httpwwwcoderjoenetarchive20080111road-runner-high-speed-internet-http-redirecting-all-invalid-domains-requested/</link>
		<comments>http://www.coderjoe.net/archive/2008/03/30/road-runner-is-at-it-again-httpwwwcoderjoenetarchive20080111road-runner-high-speed-internet-http-redirecting-all-invalid-domains-requested/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 15:06:35 +0000</pubDate>
		<dc:creator>coderjoe</dc:creator>
		
		<category><![CDATA[Life]]></category>

		<category><![CDATA[Net Neutrality]]></category>

		<category><![CDATA[rant]]></category>

		<category><![CDATA[Road Runner]]></category>

		<guid isPermaLink="false">http://www.coderjoe.net/archive/2008/03/30/road-runner-is-at-it-again-httpwwwcoderjoenetarchive20080111road-runner-high-speed-internet-http-redirecting-all-invalid-domains-requested/</guid>
		<description><![CDATA[After writing my first post describing Road Runner&#8217;s annoying practice of redirecting all invalid DNS requests to their own advertising laden search page I opted out. I figured that would be the end of it.
I was wrong.
As of this morning Road Runner ha re-enabled the DNS redirecting again.
How stupid are they? At least now I [...]]]></description>
			<content:encoded><![CDATA[<p>After writing my <a title="My fist post describing the idiotic " href="http://www.coderjoe.net/archive/2008/01/11/road-runner-high-speed-internet-http-redirecting-all-invalid-domains-requested/" target="_blank">first post</a> describing Road Runner&#8217;s annoying practice of redirecting all invalid DNS requests to their own advertising laden search page I opted out. I figured that would be the end of it.</p>
<p>I was wrong.</p>
<p>As of this morning Road Runner ha re-enabled the DNS redirecting again.</p>
<p>How stupid are they? At least now I know how much they actually actually care about their user&#8217;s settings.</p>
<p>Road Runer, if you&#8217;re reading this. Stop turning this feature on. It&#8217;s absolute rubbish and I really don&#8217;t want it. When I opt-out of a service this does NOT mean you should re-enable it a few months later and hope I won&#8217;t notice.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/coderjoe?a=FlX8L"><img src="http://feeds.feedburner.com/~f/coderjoe?i=FlX8L" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/coderjoe?a=kZylL"><img src="http://feeds.feedburner.com/~f/coderjoe?i=kZylL" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjoe/~4/260752871" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coderjoe.net/archive/2008/03/30/road-runner-is-at-it-again-httpwwwcoderjoenetarchive20080111road-runner-high-speed-internet-http-redirecting-all-invalid-domains-requested/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Oracle Core Dump Grapher</title>
		<link>http://www.coderjoe.net/archive/2008/03/20/oracle-core-dump-grapher/</link>
		<comments>http://www.coderjoe.net/archive/2008/03/20/oracle-core-dump-grapher/#comments</comments>
		<pubDate>Fri, 21 Mar 2008 03:45:51 +0000</pubDate>
		<dc:creator>coderjoe</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Work]]></category>

		<category><![CDATA[core dump]]></category>

		<category><![CDATA[graphviz]]></category>

		<category><![CDATA[oracle]]></category>

		<category><![CDATA[perl]]></category>

		<category><![CDATA[trace file]]></category>

		<guid isPermaLink="false">http://www.coderjoe.net/archive/2008/03/20/oracle-core-dump-grapher/</guid>
		<description><![CDATA[Anyone who has ever spent any significant amount of time working with an Oracle database has probably seen a ORA-600 or ORA-07445 &#8220;exception encountered: core dump&#8221; trace file.
Unfortunately, when you come across an Oracle core dump you can&#8217;t do much more than send the dump to Oracle and hope the issue is already resolved in [...]]]></description>
			<content:encoded><![CDATA[<p>Anyone who has ever spent any significant amount of time working with an Oracle database has probably seen a ORA-600 or ORA-07445 &#8220;exception encountered: core dump&#8221; trace file.</p>
<p>Unfortunately, when you come across an Oracle core dump you can&#8217;t do much more than send the dump to Oracle and hope the issue is already resolved in a newer version, or that a patch is available for your current version.</p>
<p>This process usually consists of three steps:</p>
<ol>
<li>Collect the trace files related to the issue.</li>
<li>Open a Service Request on Oracle&#8217;s Metalink site.</li>
<li>Wait for a response</li>
</ol>
<p><span style="font-style: italic">If you&#8217;re lucky</span>, the first step is an easy one.<br />
<span style="font-style: italic">If you&#8217;re lucky</span> you caught the first occurrence of the core dump and only need to shoot off a single trace file to the guys at Oracle.</p>
<p>On the other hand, if you&#8217;re not lucky, you might be handed 50-60 trace files spanning multiple weeks and be asked to sort them by distinct issue for reporting to Oracle.</p>
<p>I&#8217;m <span style="font-weight: bold">not</span> lucky.</p>
<p>Sorting the trace files is a long process which involves searching the trace file for the dump, researching the issue on Metalink, finding similar issues on Metalink, and then sorting the trace files by those issues.</p>
<p>Two trace files into the process I knew there had to be a better way.<br />
Well, what better way to organize trace files than by the stack trace that generated the dump?</p>
<p>From that idea TraceFileGrapher was born.</p>
<p>The TraceFileGrapher takes as input a directory of trace files, and creates a graph representing the call stacks of all of the trace files resulting in core dumps. The graph is then saved as any <a href="http://www.graphviz.org" title="Graphviz: The opensource graph vizualisation package." target="_blank">Graphviz</a> compatible format of your choosing.</p>
<p>The graphs themselves are simple. The starting nodes of the graph are colored green. The ending nodes are colored red. For a stack trace graph, the end nodes are the names of the trace files in which the core dump appeared. For a PL/SQL Call stack graph, the end nodes are the final PL/SQL function or procedure call name.</p>
<p>Example Graphs</p>
<ul>
<li><a href="http://www.coderjoe.net/wp-content/uploads/2008/03/example-stack-graph.png" title="Oracle Core Dump Stack Graph">Oracle Core Dump Stack Graph</a></li>
<li><a href="http://www.coderjoe.net/wp-content/uploads/2008/03/example-noloop-stack-graph.png" title="Oracle Core Dump Stack Graph without loops">Oracle Core Dump Stack Graph without loops</a></li>
<li><a href="http://www.coderjoe.net/wp-content/uploads/2008/03/example-plsql-graph.png" title="PL/SQL Call Stack Graph">PL/SQL Call Stack Graph</a></li>
<li><a href="http://www.coderjoe.net/wp-content/uploads/2008/03/example-noloop-plsql-graph.png" title="PL/SQL Call Stack Graph without loops">PL/SQL Call Stack Graph without loops</a></li>
</ul>
<p>In addition to graphing core dump stack traces, TraceFileGrapher can graph PL/SQL Call Stacks as well.</p>
<p>The TraceFileGrapher requires <a href="http://www.perl.org" title="The offical Perl webpage." target="_blank">Perl</a>, the <a href="http://search.cpan.org/~tels/Graph-Easy/" title="The Graph::Easy CPAN module for creating graphs in Perl." target="_blank">Graph::Easy</a> Perl module, and the <a href="http://www.graphviz.org" title="Graphviz: The open source graph visualization project." target="_blank">Graphviz</a> open source graph visualization software.</p>
<p>Get the TraceFileGrapher <a href="http://www.coderjoe.net/wp-content/uploads/2008/03/tracefilegrapher-0.1.tar.gz" title="TraceFileGrapher-0.1.tar.gz">here</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/coderjoe?a=7ckAL"><img src="http://feeds.feedburner.com/~f/coderjoe?i=7ckAL" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/coderjoe?a=l8sSL"><img src="http://feeds.feedburner.com/~f/coderjoe?i=l8sSL" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjoe/~4/255301354" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coderjoe.net/archive/2008/03/20/oracle-core-dump-grapher/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GoGeocode PHP Library Release</title>
		<link>http://www.coderjoe.net/archive/2008/02/26/gogeocode-php-library-release/</link>
		<comments>http://www.coderjoe.net/archive/2008/02/26/gogeocode-php-library-release/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 04:48:06 +0000</pubDate>
		<dc:creator>coderjoe</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[geocoding]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[projects]]></category>

		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://www.coderjoe.net/archive/2008/02/26/gogeocode-php-library-release/</guid>
		<description><![CDATA[Over the past two months or so I&#8217;ve been playing with an old pet project of mine that I tend to peck away at when I can&#8217;t think of a better to work on.
As part of this project I found myself needing to do a massive amount of geocoding in PHP.
After searching through the various [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past two months or so I&#8217;ve been playing with an old pet project of mine that I tend to peck away at when I can&#8217;t think of a better to work on.</p>
<p>As part of this project I found myself needing to do a massive amount of geocoding in PHP.</p>
<p>After searching through the various PHP based geocoding libraries online I came to notice that none of them seemed to make use of the APIs ability to return multiple points as well as informational data about each point.</p>
<p>Thus GoGeocode was born.</p>
<p>GoGeocode is an extremely small set of classes for use in querying both the Google and Yahoo geocoding APIs.</p>
<p>I&#8217;ve released the code under the <a href="http://www.opensource.org/licenses/mit-license.php" title="MIT License" target="_blank">MIT License</a> and posted the code at <a href="http://code.google.com/p/gogeocode/" title="http://code.google.com/p/gogeocode/" target="_blank">http://code.google.com/p/gogeocode/</a></p>
<p>Take and enjoy!</p>
<p><strong>Update:</strong> The GoGeocode page has been updated with a description, example use case, and a tar.gz archive of the gogeocode-0.1 release tag from SVN.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/coderjoe?a=O6KfL"><img src="http://feeds.feedburner.com/~f/coderjoe?i=O6KfL" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/coderjoe?a=SF32L"><img src="http://feeds.feedburner.com/~f/coderjoe?i=SF32L" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjoe/~4/241889194" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coderjoe.net/archive/2008/02/26/gogeocode-php-library-release/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Road Runner High Speed Internet HTTP Redirecting All Invalid Domains Requested</title>
		<link>http://www.coderjoe.net/archive/2008/01/11/road-runner-high-speed-internet-http-redirecting-all-invalid-domains-requested/</link>
		<comments>http://www.coderjoe.net/archive/2008/01/11/road-runner-high-speed-internet-http-redirecting-all-invalid-domains-requested/#comments</comments>
		<pubDate>Sat, 12 Jan 2008 01:25:48 +0000</pubDate>
		<dc:creator>coderjoe</dc:creator>
		
		<category><![CDATA[Life]]></category>

		<category><![CDATA[Net Neutrality]]></category>

		<category><![CDATA[rant]]></category>

		<category><![CDATA[Road Runner]]></category>

		<guid isPermaLink="false">http://www.coderjoe.net/archive/2008/01/11/road-runner-high-speed-internet-http-redirecting-all-invalid-domains-requested/</guid>
		<description><![CDATA[Advertisement filled domain search sites, once the domain of shady domain squatters, have shown up on Road Runner High Speed Internet for URLs of invalid domains.
Earlier this evening I decided to visit the website for a paint ball field in Syracuse NY. Looking for their address I tried to visit their site http://www.headrush.com. Unfortunately I [...]]]></description>
			<content:encoded><![CDATA[<p>Advertisement filled domain search sites, once the domain of shady domain squatters, have shown up on Road Runner High Speed Internet for URLs of invalid domains.</p>
<p>Earlier this evening I decided to visit the website for a paint ball field in Syracuse NY. Looking for their address I tried to visit their site <a href="http://www.headrush.com" title="Webpage for a nice Syracuse NY based paintball field (among other fun recreations)." target="_blank">http://www.headrush.com</a>. Unfortunately I mistyped and ended up at <a href="http://www.headrus.com" title="This site does not exist as of the writing of this blog post." target="_blank">http://www.headrus.com</a>. I was greeted with the site pictured below.</p>
<p><a href="http://www.coderjoe.net/wp-content/uploads/2008/01/roadrunner-squattersearch1.jpg" title="Road Runner Squatter Search Page Screenshot 1"><img src="http://www.coderjoe.net/wp-content/uploads/2008/01/roadrunner-squattersearch1.thumbnail.jpg" alt="Road Runner Squatter Search Page Screenshot 1" /></a><br />
<span id="more-111"></span></p>
<p>At first I just thought this was some sort of funny coincidence. My ISP just happened to be squatting the domain I mistyped. But wait, Road Runner High Speed doesn&#8217;t squat domains. They only play in the high-speed internet and shitty customer service markets. They couldn&#8217;t POSSIBLY be doing what I think they&#8217;re doing? Are they redirecting invalid domains to a search page of their design? I visited <a href="http://hdalashqwhqhffa.com" title="This site doesn't exist as of the writing of this blog post." target="_blank">http://hdalashqwhqhffa.com</a> just to check.</p>
<p><a href="http://www.coderjoe.net/wp-content/uploads/2008/01/roadrunner-squattersearch2.jpg" title="Road Runner Squatter Search Page Screenshot 2"><img src="http://www.coderjoe.net/wp-content/uploads/2008/01/roadrunner-squattersearch2.thumbnail.jpg" alt="Road Runner Squatter Search Page Screenshot 2" /></a></p>
<p>To be honest this pisses me off. I&#8217;m paying them no small chunk of change for access to the Internet. This in itself doesn&#8217;t bother me. However, what I am paying them for is for unfettered access to the internet as a resource, not a pre-filtered monitored windowpane into it. If I wanted a service that corrected me, protected me, monitored me, and alerted me to everything out there automatically I&#8217;d sign up for AOL.</p>
<p>Annoyed consumer &#8220;I don&#8217;t pay for this to happen&#8221; complaints aside, I have a small script I&#8217;ve been running for a while which monitors referrer logs from my websites. It attempts pinpoint invalid requests by watching for forged referrer headers. In the past the script has worked great. I&#8217;ve found some interesting request data for my site that I never would have seen otherwise. Now, however, the little &#8220;callback&#8221; script notes every request as valid.</p>
<p>Fixing the problems with my log checker isn&#8217;t hard. I could check the domain name to see if it&#8217;s valid. Regardless, I don&#8217;t want invalid domains returning me a HTTP redirect. That&#8217;s not the way it works.</p>
<p>On the up side, they do have an opt-out for the service.</p>
<p><a href="http://www.coderjoe.net/wp-content/uploads/2008/01/roadrunner-optout.jpg" title="Road Runner Search Page Opt-Out image"><img src="http://www.coderjoe.net/wp-content/uploads/2008/01/roadrunner-optout.jpg" alt="Road Runner Search Page Opt-Out image" height="153" width="445" /></a></p>
<p>I find it humorous that they say you can &#8220;opt-in or out of this service&#8221;. There is no opt-in. They give it to you by default.</p>
<p>Frankly I am disgusted by the number of ISPs that think this sort of content tampering is ok. First <a href="http://arstechnica.com/news.ars/post/20071210-canadian-isp-tests-injecting-content-into-web-pages.html" title="Arstechnica Article detailing the process Rogers tested recently." target="_blank">Rogers (a Canadian ISP) tests inserting content into existing pages for convenience sake</a>, and now Road Runner is replacing invalid addresses with their own squatting style search site. If I&#8217;m supposed to receive a no such domain error, I want to receive a no such domain error.</p>
<p>Admittedly Road Runner&#8217;s tactics are a little nicer than those of Rogers listed above, but it&#8217;s not that far to jump from this to inserting their own content into my pages.</p>
<p>This, my friends, is why we need to nip this <a href="http://savetheinternet.com/=faq" title="SaveTheInternet.com's FAQ page" target="_blank">Net Neutrality</a> thing in the butt now.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/coderjoe?a=dc3ZL"><img src="http://feeds.feedburner.com/~f/coderjoe?i=dc3ZL" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/coderjoe?a=GvMHL"><img src="http://feeds.feedburner.com/~f/coderjoe?i=GvMHL" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjoe/~4/215290847" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coderjoe.net/archive/2008/01/11/road-runner-high-speed-internet-http-redirecting-all-invalid-domains-requested/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FreeRice.com and Automaton</title>
		<link>http://www.coderjoe.net/archive/2007/11/19/freericecom-and-automaton/</link>
		<comments>http://www.coderjoe.net/archive/2007/11/19/freericecom-and-automaton/#comments</comments>
		<pubDate>Tue, 20 Nov 2007 02:04:02 +0000</pubDate>
		<dc:creator>coderjoe</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[artificial intelligence]]></category>

		<category><![CDATA[freerice.com]]></category>

		<category><![CDATA[greasemonkey]]></category>

		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.coderjoe.net/archive/2007/11/19/freericecom-and-automaton/</guid>
		<description><![CDATA[I had recently become aware of a website named FreeRice.com. This site provides a vocabulary game where one identifies synonyms for words with an ever increasing difficulty. Since I could always use a better vocabulary the site intrigued me. I played the game for a few hours but was in no way satisfied with my [...]]]></description>
			<content:encoded><![CDATA[<p>I had recently become aware of a website named <a href="http://freerice.com" title="FreeRice.com: Learn vocabulary while feeding the hungry.">FreeRice.com</a>. This site provides a vocabulary game where one identifies synonyms for words with an ever increasing difficulty. Since I could always use a better vocabulary the site intrigued me. I played the game for a few hours but was in no way satisfied with my progress. At roughly one correct answer every two seconds I&#8217;d rank up 18,000 grains of rice an hour. Unfortunately, once I reached the higher levels I was averaging only 3 out of every 4 questions right.</p>
<p>While 13,500 (75% of my estimated optimal efficiency) grains of rice is a lot, it was nowhere near satisfactory. After joking about my &#8220;horrible rice metrics&#8221; at work, I mused that I should write a <a href="http://www.greasespot.net/" title="The Greasemonkey Firefox Extension." target="_blank">Greasemonkey</a> script which would play the game better than I could possibly hope to. As the rest of my work day rolled on I became more and more intrigued by the idea. There was absolutely no reason why I couldn&#8217;t write a very simple AI to play the FreeRice.com game.</p>
<p>Were there reasons why I shouldn&#8217;t?</p>
<p>I knew the most obvious reason:<br />
This wasn&#8217;t a controlled experiment. If the script spun out of control and was allowed to play over and over I could risk exhausting FreeRice.com&#8217;s funds.</p>
<p>Because I didn&#8217;t want to be responsible for the downfall of a potentially lucrative source of food for impoverished children  I initially abandoned my bot. Despite my fears, curiosity eventually got the best of me and I began implementing my bot. I started by implementing a simple timing method limiting page requests to once every 10 seconds for debugging purposes, just in case.</p>
<p><span id="more-107"></span></p>
<p>Flash forward a day or so and I had a working FreeRice.com bot named &#8220;Automarice&#8221;. The bot had a number of interesting features which I found fun. First and foremost the bot kept statistics on its &#8220;correctness&#8221; per level it visited. These statistics were provided both over every answer given for a single level, as well as for the last hundred answers. These answers were provided as a simple HTML table benieth the FreeRice.com advertisements.</p>
<p><a href="http://www.coderjoe.net/wp-content/uploads/2007/11/freerice-stats.jpg" title="Automarice - Statistics"></a></p>
<p style="text-align: center"><a href="http://www.coderjoe.net/wp-content/uploads/2007/11/freerice-stats.jpg" title="Automarice - Statistics"><img src="http://www.coderjoe.net/wp-content/uploads/2007/11/freerice-stats.jpg" alt="Automarice - Statistics" height="173" width="460" /></a></p>
<p>The AI behind Automarice was simplistic at best. I have no formal training in Artificial Intelligence and as such I just tried to make the bot behave as I would. To implement the AI the bot was given a few things. First, the bot was given a dictionary which it could use to store words and definitions. Second, the bot was set to record the associations it remembered learning from playing the game. In this way the bot was given a &#8220;memory&#8221; of previous correct answers. The bot started out with random play. If the bot was unsure of the answer it would select one answer at random, and would record the result. In this way the bot would slowly build a large vocabulary and increase its level.</p>
<p>The algorithm was improved on slightly by allowing the bot to reduce it&#8217;s probable correct answer set by excluding potential answers which it already knew that did not match the given question word. This did introduce incorrect answers when new synonyms were learned, but since it improved the general case it was considered a good thing. The thought process of the bot was identified in the UI by striking through answers it believed were incorrect, and underlining the answer it would chose. If the answer was a guess it would append a question mark to that answer.</p>
<p><a href="http://www.coderjoe.net/wp-content/uploads/2007/11/freerice-list.jpg" title="Automarice - List Changes"></a></p>
<p style="text-align: center"><a href="http://www.coderjoe.net/wp-content/uploads/2007/11/freerice-list.jpg" title="Automarice - List Changes"><img src="http://www.coderjoe.net/wp-content/uploads/2007/11/freerice-list.jpg" alt="Automarice - List Changes" height="279" width="404" /></a></p>
<p>Finally, I implemented a dictionary and statistics exporter and importer. An export would generate an HTML page containing JSON representations of the internal dictionary and statistics. When this export file was opened it would trigger Automarice to import the data.</p>
<p>My bot contained a number of functional bugs. For example, if both the bot and the user played at the same time, the bot would produce script errors. However, since my bot was able to play the game successfully these errors didn&#8217;t really bother me.</p>
<p>After reducing the wait time from 10 seconds to a random number between 2 to 10 seconds per question I let my bot go for a few hours. After my bot gained an accuracy of 78% on level one, it looked like it would gain 1 or 2 levels every hour or so.</p>
<p>Satisfied with my progress I retired my bot. While I am interested in releasing the source code I do not want to provide a plug and play method for taking down FreeRice.com. As such the source code will remain locked up.</p>
<p><a href="http://www.coderjoe.net/wp-content/uploads/2007/11/freerice-full.jpg" title="Automarice - Full View"></a></p>
<p style="text-align: center"><a href="http://www.coderjoe.net/wp-content/uploads/2007/11/freerice-full.jpg" title="Automarice - Full View"><img src="http://www.coderjoe.net/wp-content/uploads/2007/11/freerice-full.thumbnail.jpg" alt="Automarice - Full View" height="178" width="202" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/coderjoe?a=f3vjL"><img src="http://feeds.feedburner.com/~f/coderjoe?i=f3vjL" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/coderjoe?a=j0aiL"><img src="http://feeds.feedburner.com/~f/coderjoe?i=j0aiL" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjoe/~4/187813649" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coderjoe.net/archive/2007/11/19/freericecom-and-automaton/feed/</wfw:commentRss>
		</item>
		<item>
		<title>More Fun with Greasemonkey</title>
		<link>http://www.coderjoe.net/archive/2007/10/30/more-fun-with-greasemonkey/</link>
		<comments>http://www.coderjoe.net/archive/2007/10/30/more-fun-with-greasemonkey/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 04:34:16 +0000</pubDate>
		<dc:creator>coderjoe</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[experts-exchange]]></category>

		<category><![CDATA[greasemonkey]]></category>

		<guid isPermaLink="false">http://www.coderjoe.net/archive/2007/10/30/more-fun-with-greasemonkey/</guid>
		<description><![CDATA[The past month has been a difficult one. Between readying the apartment for winter, various chores, and social obligations, I&#8217;ve had little time for my own personal projects. Recently however I came across a few things that I just couldn&#8217;t pass up.

&#160;
More fun with Experts Exchange
&#160;
I was recently informed that my Unhide Experts Exchange Greasemonkey [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0in">The past month has been a difficult one. Between readying the apartment for winter, various chores, and social obligations, I&#8217;ve had little time for my own personal projects. Recently however I came across a few things that I just couldn&#8217;t pass up.</p>
<p style="margin-bottom: 0in"><span id="more-106"></span></p>
<p style="margin-bottom: 0in">&nbsp;</p>
<p style="margin-bottom: 0in"><strong>More fun with Experts Exchange</strong></p>
<p style="margin-bottom: 0in">&nbsp;</p>
<p style="margin-bottom: 0in">I was recently informed that my <a href="http://www.coderjoe.net/archive/2007/08/10/experts-exchange-encryption/" title="Unhide Experts Exchange script">Unhide Experts Exchange Greasemonkey script</a> had become obsolete. Reader <a href="http://community.zdnet.co.uk/blog/0,1000000567,2000342184b,00.htm" title="nico5038's blog covering issues with Experts Exchange" target="_blank">nico5038</a> points out in a comment that Experts Exchange now hides all comments from users unless they&#8217;re logged in.</p>
<p style="margin-bottom: 0in"> I would have been content to leave it at that until my friend <a href="http://www.seancolombo.com" title="Sean Colombo's blog." target="_blank">Sean</a> pointed out that Experts Exchange seems to be “<a href="http://en.wikipedia.org/wiki/Cloaking" title="Wikipedia article on Cloaking" target="_blank">cloaking</a>” its answer pages. What this means is that when a search spider visits the site Experts-Exchange they will present a page that has all comments visible. However, if you or I go visit the site, the comments are hidden. This isn&#8217;t exactly the nicest thing to do on the web these days, so I&#8217;ve decided to write a new Experts-Exchange Greasemonkey script to fetch the hidden text from one of many different potential sources and replace the hidden text with the text that we should all be able to see.</p>
<p style="margin-bottom: 0in">Edit: They aren&#8217;t cloaking they&#8217;re just appending the comments to the end of their page. In any case grabbing a cached version of the page will help stave off any other awkward practices they use in the future.</p>
<p style="margin-bottom: 0in">&nbsp;</p>
<p style="margin-bottom: 0in">I&#8217;ll update again tomorrow with the script once its been tested.</p>
<p style="margin-bottom: 0in">In the mean time enjoy a Happy Halloween!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/coderjoe?a=8LIuL"><img src="http://feeds.feedburner.com/~f/coderjoe?i=8LIuL" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/coderjoe?a=yWe0L"><img src="http://feeds.feedburner.com/~f/coderjoe?i=yWe0L" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjoe/~4/187813650" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coderjoe.net/archive/2007/10/30/more-fun-with-greasemonkey/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Experts Exchange Part 2</title>
		<link>http://www.coderjoe.net/archive/2007/10/28/experts-exchange-part-2/</link>
		<comments>http://www.coderjoe.net/archive/2007/10/28/experts-exchange-part-2/#comments</comments>
		<pubDate>Sun, 28 Oct 2007 21:41:51 +0000</pubDate>
		<dc:creator>coderjoe</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[experts-exchange]]></category>

		<guid isPermaLink="false">http://www.coderjoe.net/archive/2007/10/28/experts-exchange-part-2/</guid>
		<description><![CDATA[It would seem that Experts Exchange has changed their free access strategy. Where they would once display the normal solutions to a question hidden under a weak rot13 encryption, they have finally chosen to hide the articles all out unless one signs up for an account.
I for one welcome the change. Since it was their [...]]]></description>
			<content:encoded><![CDATA[<p>It would seem that Experts Exchange has changed their free access strategy. Where they would once display the normal solutions to a question hidden under a weak <a href="http://www.coderjoe.net/archive/2007/08/10/experts-exchange-encryption/" title="Expets Exchange Encryption" target="_blank">rot13</a> encryption, they have finally chosen to hide the articles all out unless one signs up for an account.</p>
<p style="margin-bottom: 0in">I for one welcome the change. Since it was their intention to only provide answers to registered users in the first place, moving away from obfuscated text helps clarify the site&#8217;s goals.</p>
<p style="margin-bottom: 0in">As a result of this site change I&#8217;ve been asked by a number of anonymous visitors to my site to rewrite my script to fetch the answers to an article so they don&#8217;t have to log in. I would like to make it clear that given the sites new design, that a script to display the answers is no longer possible. As such no effort will be put forth to do so.</p>
<p style="margin-bottom: 0in">Sorry to anybody who had their hopes up, but you can&#8217;t un-hide what isn&#8217;t there.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/coderjoe?a=lxSlL"><img src="http://feeds.feedburner.com/~f/coderjoe?i=lxSlL" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/coderjoe?a=IctzL"><img src="http://feeds.feedburner.com/~f/coderjoe?i=IctzL" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjoe/~4/187813651" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.coderjoe.net/archive/2007/10/28/experts-exchange-part-2/feed/</wfw:commentRss>
		</item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 2.720 seconds -->
