<?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>Brian Bell &#187; Brian</title>
	<atom:link href="http://webguru.org/author/brian/feed/" rel="self" type="application/rss+xml" />
	<link>http://webguru.org</link>
	<description>Bits of web-dev, travel and personal musings...</description>
	<lastBuildDate>Mon, 09 Nov 2009 21:36:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP Object Get/Set Generator</title>
		<link>http://webguru.org/2009/04/17/php/php-object-getset-generator/</link>
		<comments>http://webguru.org/2009/04/17/php/php-object-getset-generator/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 21:49:23 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://webguru.org/?p=39</guid>
		<description><![CDATA[Well, I know I haven&#8217;t created anything new here &#8211; but as Frank said, &#8220;I did it my way!&#8221;
I recently found myself creating more and more objects to store data within apps. I&#8217;m not going to get into all the ins and outs of why this is good practice, but it lead me to whipping [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I know I haven&#8217;t created anything new here &#8211; but as Frank said, &#8220;I did it my way!&#8221;</p>
<p>I recently found myself creating more and more objects to store data within apps. I&#8217;m not going to get into all the ins and outs of why this is good practice, but it lead me to whipping up this simple script. I had seen a few other similar tools on the inter-webs but none of them worked quite like I needed. </p>
<p>If you&#8217;e not familiar with the OO approach for storing data within a script (is there a better way to describe this?) here the gist. </p>
<p>Say you are storing user profile information in your favorite RDBMS. You have a user profile page and will pull data for a specific profile to use in that page. Well, instead of just doing a fetch and grabbing data &#8211; creating a bunch of variables, etc., you can take the OO approach. Load all those vars into an object, with nice features like getters and setters &#8211; which may manipulate the data, etc. Then you have a clean interface to the data. </p>
<p>My IDE doesn&#8217;t have any wizards for this stuff (I think Eclipse can &#8211; or has plugins that can) and it can be a bit time consuming to do. Also &#8211; its very repetitive to get your basic class structure together. SO &#8211; why not write a little script to do this! Like I said, I have seen some others out there that were apparently written for PHP4 or just didn&#8217;t format the methods like I prefer. </p>
<p>Check it out and let me know what you think.<br /> <a href="http://webguru.org/getset">http://webguru.org/getset</a></p>
<p>The resulting class allows you to do stuff like this:</p>
<pre class="brush: php;">
&lt;?php

// create an array of basic user data
$data = array();
$data[&quot;user_id&quot;] = 3;
$data[&quot;name&quot;] = &quot;Brian Bell&quot;;
$data[&quot;email&quot;] = &quot;brian@example.com&quot;;

$user = new UserDataObj( $data );
echo &quot;User {$user-&gt;get_name()} has an id of {$user-&gt;get_id()} and an email address of {$user-&gt;get_email()}. &quot;;

/*
  You can also instantiate the object with no argument,
  and set things manually
*/
$user = new UserDataObj();
$user-&gt;set_name(&quot;Brian Bell&quot;);
$user-&gt;set_email(&quot;brian@example.com&quot;);

// also comes in handy to pass the data object to your CrUD methods
$new = new Users();
/*
  pass in the data object from above so
  the create_user() method has everything it needs.
*/
$new-&gt;create_user( $user );

?&gt;
</pre>
<p>Let me know if you have any comments or suggestions. I don&#8217;t have a lot of time to contribute to it &#8211; but I can easily see how it could be extended to give the user some options on formatting, etc. </p>
]]></content:encoded>
			<wfw:commentRss>http://webguru.org/2009/04/17/php/php-object-getset-generator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ReadTheStimulus.org</title>
		<link>http://webguru.org/2009/01/28/general/readthestimulusorg/</link>
		<comments>http://webguru.org/2009/01/28/general/readthestimulusorg/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 00:56:58 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://webguru.org/2009/01/28/general/readthestimulusorg/</guid>
		<description><![CDATA[&#8220;$850 Billion, 1588 pages, and counting&#8230; somebody needs to read it!&#8221;
This site has popped up with an easy way to search and drill-down into the entire text of the House Stimulus bill.  Just take a few minutes and browse through this pork-packet.  Unbelievable!!
]]></description>
			<content:encoded><![CDATA[<p>&#8220;$850 Billion, 1588 pages, and counting&#8230; <em>somebody</em> needs to read it!&#8221;</p>
<p>This site has popped up with an easy way to search and drill-down into the entire text of the House Stimulus bill.  Just take a few minutes and browse through this pork-packet.  Unbelievable!!</p>
]]></content:encoded>
			<wfw:commentRss>http://webguru.org/2009/01/28/general/readthestimulusorg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memory-tight, multi-threaded PHP Daemon</title>
		<link>http://webguru.org/2008/11/17/php/memory-tight-multi-threaded-php-daemon/</link>
		<comments>http://webguru.org/2008/11/17/php/memory-tight-multi-threaded-php-daemon/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 15:49:02 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[LAMP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://webguru.org/2008/11/17/php/memory-tight-multi-threaded-php-daemon/</guid>
		<description><![CDATA[Came across this nifty project on Google Code.  It&#8217;s a multi-threaded, object-oriented PHP daemon which is very nicely written and easy to use.
http://code.google.com/p/phpmultithreadeddaemon/
Here&#8217;s their example of how to implement it.  Everything needed to run the daemon is in the single included file &#8220;class.MTDaemon.php&#8221; &#8211; cool!


&#60;?php

error_reporting(E_ALL);

require_once(include/class.MTDaemon.php);

class MTTest extends MTDaemon {

public function getNext($slot)
{
$this-&#62;lock();
$num = $this-&#62;getVar(&#34;num&#34;);
if [...]]]></description>
			<content:encoded><![CDATA[<p>Came across this nifty project on Google Code.  It&#8217;s a multi-threaded, object-oriented PHP daemon which is very nicely written and easy to use.</p>
<p><a href="http://code.google.com/p/phpmultithreadeddaemon/" title="PHP Daemon Project on Google Code">http://code.google.com/p/phpmultithreadeddaemon/</a></p>
<p>Here&#8217;s their example of how to implement it.  Everything needed to run the daemon is in the single included file &#8220;class.MTDaemon.php&#8221; &#8211; cool!</p>
<pre class="brush: php;">

&lt;?php

error_reporting(E_ALL);

require_once(include/class.MTDaemon.php);

class MTTest extends MTDaemon {

public function getNext($slot)
{
$this-&gt;lock();
$num = $this-&gt;getVar(&quot;num&quot;);
if ($num == null) $num = 1;
if ($num &gt; 100) {
$this-&gt;unlock();
return null;
}
$this-&gt;unlock();

$rand = rand(0, 5);
echo &quot;Next for slot &quot; . $slot . &quot; : &quot; . $rand . &quot;\n&quot;;
if ($rand == 0) return null;
else return $rand;
}

public function run($next, $slot)
{
$rand = rand(3, 10);
$this-&gt;lock();
$num = $this-&gt;getVar(&quot;num&quot;);
$this-&gt;setVar(&quot;num&quot;, $this-&gt;getVar(&quot;num&quot;) + 1);
$this-&gt;unlock();
echo &quot;## Iteration #&quot; . number_format($num) . &quot; in &quot; . $rand . &quot;sec&quot; . &quot;\n&quot;;

sleep($rand);
return 0;
}

}

$mttest = new MTTest(2);
$mttest-&gt;handle();

?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://webguru.org/2008/11/17/php/memory-tight-multi-threaded-php-daemon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extremely helpful Microsoft Silverlight warning</title>
		<link>http://webguru.org/2008/08/14/general/extremely-helpful-microsoft-silverlight-warning/</link>
		<comments>http://webguru.org/2008/08/14/general/extremely-helpful-microsoft-silverlight-warning/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 15:31:55 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[eeediots]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://webguru.org/2008/08/14/general/extremely-helpful-microsoft-silverlight-warning/</guid>
		<description><![CDATA[I had an old version of MS Silverlight installed on my machine. This is Microsoft&#8217;s attempt to compete with Adobe&#8217;s (formerly Macromedia&#8217;s) Flash.  Way to go guys &#8211; that train left the station in, oh, I don&#8217;t know&#8230; 1996?
Bottom line is that nobody is really using Silverlight &#8211; besides MS&#8217;s attempts to force it down [...]]]></description>
			<content:encoded><![CDATA[<p>I had an old version of MS Silverlight installed on my machine. This is Microsoft&#8217;s attempt to compete with Adobe&#8217;s (formerly Macromedia&#8217;s) Flash.  Way to go guys &#8211; that train left the station in, oh, I don&#8217;t know&#8230; 1996?</p>
<p>Bottom line is that nobody is really using Silverlight &#8211; besides MS&#8217;s attempts to force it down your throat on their own website and through some strategic marketing moves (ie. with NBC Olympics online coverage).  Plus, the sites that do offer streaming media via Silverlight were thankfully not stupid enough to make that your only option.  I haven&#8217;t been to a site yet that doesn&#8217;t offer me the same feature with Flash Video for example.</p>
<p>Anyway &#8211; there is a newer version of Silverlight out -  so when I visit a page that is trying to stream content via the Silverlight plugin, I get this error:</p>
<div align="center"><img src="http://content.screencast.com/users/brianfd/folders/Jing/media/1c21e6a8-385c-4a67-8e55-b5424a81cba1/2008-08-14_1123.png" border="0" width="518" height="119" /></div>
<p>How awesome is that?  Did MS really think I could click the link and get to the update page? No &#8211; maybe I was expected remember that URL or <strong>write it down</strong> so that I could quickly download the newer version and get to my content.</p>
<p>How classic is that?!?!</p>
]]></content:encoded>
			<wfw:commentRss>http://webguru.org/2008/08/14/general/extremely-helpful-microsoft-silverlight-warning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why doesn&#8217;t Lindsey Graham just go ahead and claim the (D)?</title>
		<link>http://webguru.org/2008/08/14/politics/why-doesnt-lindsey-graham-just-go-ahead-and-claim-the-d/</link>
		<comments>http://webguru.org/2008/08/14/politics/why-doesnt-lindsey-graham-just-go-ahead-and-claim-the-d/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 12:54:38 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://webguru.org/2008/08/14/politics/why-doesnt-lindsey-graham-just-go-ahead-and-claim-the-d/</guid>
		<description><![CDATA[What a waste of a senate seat.  The goofy, nil-brained senator from South Carolina has once again (shock! surprise!) swerved to the left in an effort to advance his personal interests.
And so, last Friday, in stumbled Sens. Lindsey Graham, John Thune, Saxby Chambliss, Bob Corker and Johnny Isakson &#8212; alongside five Senate Democrats. This &#8220;Gang [...]]]></description>
			<content:encoded><![CDATA[<p>What a waste of a senate seat.  The goofy, nil-brained senator from South Carolina has once again (shock! surprise!) swerved to the left in an effort to advance his personal interests.</p>
<blockquote><p>And so, last Friday, in stumbled Sens. Lindsey Graham, John Thune, Saxby Chambliss, Bob Corker and Johnny Isakson &#8212; alongside five Senate Democrats. This &#8220;Gang of 10&#8243; announced a &#8220;sweeping&#8221; and &#8220;bipartisan&#8221; energy plan to break Washington&#8217;s energy &#8220;stalemate.&#8221; What they did was throw every vulnerable Democrat, and Mr. Obama, a life preserver.</p></blockquote>
<p><a href="http://online.wsj.com/public/article_print/SB121815293390922431.html">Here are the dirty details from the WSJ.</a></p>
<p>Way to go Lindz, you really know what the people want.</p>
]]></content:encoded>
			<wfw:commentRss>http://webguru.org/2008/08/14/politics/why-doesnt-lindsey-graham-just-go-ahead-and-claim-the-d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to use PHP&#8217;s sprintf() on a MySQL query utilizing DATE_FORMAT()</title>
		<link>http://webguru.org/2008/08/02/php/how-to-use-phps-sprintf-on-a-mysql-query-utilizing-date_format/</link>
		<comments>http://webguru.org/2008/08/02/php/how-to-use-phps-sprintf-on-a-mysql-query-utilizing-date_format/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 15:24:28 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[LAMP]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://webguru.org/2008/08/02/php/how-to-use-phps-sprintf-on-a-mysql-query-utilizing-date_format/</guid>
		<description><![CDATA[It is good practice (common sense?) to filter your SQL queries.  One way to accomplish this in PHP is to utilize a function like sprintf() which will format a given string and integrate values into the string using conversion specifications which are passed in as arguments to the function.  In plain english, that means you [...]]]></description>
			<content:encoded><![CDATA[<p>It is good practice (common sense?) to filter your SQL queries.  One way to accomplish this in PHP is to utilize a function like sprintf() which will format a given string and integrate values into the string using conversion specifications which are passed in as arguments to the function.  In plain english, that means you can call the function, pass in a value and require that value to be a integer, for example.  If the value you passed in is a string, roughly speaking, it will sanitize your output.</p>
<p>An example in a MySQL query would be this.</p>
<pre class="brush: php;">
&lt;?php
// build our sql string.
$sql = &quot;SELECT * FROM table WHERE field=%d&quot;;
$sqlf = sprintf( $sql, $somevalue );
$db-&gt;query($sqlf);
?&gt;
</pre>
<p>As you can see, you can designate where the substitution will take place in the $sql string.  That&#8217;s easy.  But what happens if you need to use MySQL&#8217;s DATE_FORMAT() function?  It requires that you pass in arguments to define its output (ie. Day as a word, day as a date, month as a number, etc).</p>
<pre class="brush: php;">
&lt;?php
// build our sql string.
$sql = &quot;SELECT DATE_FORMAT( %b %M %d %Y, some_date_field ) as myDate FROM table WHERE field=%d&quot;;
$sqlf = sprintf( $sql, $somevalue );
$db-&gt;query($sqlf);
?&gt;
</pre>
<p>This will fail.  sprintf() will complain because you haven&#8217;t passed in enough arguments.  It is expecting 5 values as part of the call, instead of just the one that you are trying to replace (in the SQL WHERE clause).</p>
<p>So what&#8217;s the solution? You have to &#8220;comment-out&#8221; the % that aren&#8217;t part of your sprintf() substitution.  You can do this by putting another % in front of the &#8216;%&#8217; symbols in the DATE_FORMAT() function.  This deems them as a literal percent-sign instead of the start of another sprintf() &#8220;variable&#8221;.</p>
<pre class="brush: php;">
&lt;?php
// build our sql string.
$sql = &quot;SELECT DATE_FORMAT( %%b %%M %%d %%Y, some_date_field ) as myDate FROM table WHERE field=%d&quot;;
$sqlf = sprintf( $sql, $somevalue );
$db-&gt;query($sqlf);
</pre>
<p>Hope that helps!</p>
]]></content:encoded>
			<wfw:commentRss>http://webguru.org/2008/08/02/php/how-to-use-phps-sprintf-on-a-mysql-query-utilizing-date_format/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I may need protection from myself&#8230;</title>
		<link>http://webguru.org/2008/08/01/php/i-may-need-protection-from-myself/</link>
		<comments>http://webguru.org/2008/08/01/php/i-may-need-protection-from-myself/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 14:22:21 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://webguru.org/2008/08/01/php/i-may-need-protection-from-myself/</guid>
		<description><![CDATA[Today, I spent almost an hour staring at this line of code:
if ($this-&#62;dbi-&#62;affectedRows&#62;0) {
Oh &#8211; and it would be helpful for you to know that affectedRows is a method in a database class.
A method, that&#8217;s right.  Unfortunately for me, method is not spelled, v-a-r-i-a-b-l-e.
Amazing what two little ( ) can do to your stress level.
if [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I spent almost an hour staring at this line of code:<br />
<code>if ($this-&gt;dbi-&gt;affectedRows&gt;0) {</code></p>
<p>Oh &#8211; and it would be helpful for you to know that affectedRows is a method in a database class.</p>
<p>A <em>method</em>, that&#8217;s right.  Unfortunately for me, method is not spelled, v-a-r-i-a-b-l-e.</p>
<p>Amazing what two little ( ) can do to your stress level.<br />
<code>if ($this-&gt;dbi-&gt;affectedRows<font color="#ff0000"><strong>()</strong></font>&gt;0) {</code></p>
]]></content:encoded>
			<wfw:commentRss>http://webguru.org/2008/08/01/php/i-may-need-protection-from-myself/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Replacement Batteries for APC SU1000XLNET and BU550R</title>
		<link>http://webguru.org/2008/07/21/general/replacement-batteries-for-apc-su1000xlnet-and-bu550r/</link>
		<comments>http://webguru.org/2008/07/21/general/replacement-batteries-for-apc-su1000xlnet-and-bu550r/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 18:47:35 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[apc]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[batteries]]></category>
		<category><![CDATA[bu550r]]></category>
		<category><![CDATA[gruber power]]></category>
		<category><![CDATA[rbc11]]></category>
		<category><![CDATA[rbc2]]></category>
		<category><![CDATA[rbc7]]></category>
		<category><![CDATA[replacement]]></category>
		<category><![CDATA[su1000xlnet]]></category>
		<category><![CDATA[ups]]></category>

		<guid isPermaLink="false">http://webguru.org/2008/07/21/general/replacement-batteries-for-apc-su1000xlnet-and-bu550r/</guid>
		<description><![CDATA[I needed to replace the batteries in my APC SmartUPS 1000XL battery backup, its external battery pack (SU24XLBP) and a smaller system, the BackupUPS ES 550.  After looking at the options on &#8220;official&#8221; replacements from APC and consequently realizing that money is not currently growing on the primarily ornamental trees in my yard; I decided [...]]]></description>
			<content:encoded><![CDATA[<p>I needed to replace the batteries in my APC SmartUPS 1000XL battery backup, its external battery pack (SU24XLBP) and a smaller system, the BackupUPS ES 550.  After looking at the options on &#8220;official&#8221; replacements from APC and consequently realizing that money is not currently growing on the primarily ornamental trees in my yard; I decided to peruse other options.</p>
<p>There are many places on the &#8216;net that you can find &#8220;comparable&#8221; batteries for your APC (and other) backup units.  Knowing that my friend <a href="http://cerient.net" title="Cerient Technologies">Jason</a> replaces battery backups with some frequency, I asked for his opinion.  He led me to <a href="http://www.gruberpower.com" title="Gruber Power Services">Gruber Power Services</a>.  What a find!</p>
<p align="center"><a href="http://www.gruberpower.com/index.htm" title="Gruber Power Services"><img src="http://content.screencast.com/media/59fafd99-418c-4535-83eb-c2ff5c827c14_e05c80de-13f2-4cd2-9256-5288ae1d27ce_static_0_0_2008-07-21_1436.png" border="0" width="595" height="148" /></a></p>
<p>The prices are extremely reasonable (e.g. $15.99 for a &#8220;RBC2&#8243; comparable battery which is $40 through APC and other sites). You obviously have to pay for shipping these heavy lead-acid batteries, but that is the case with any site from which you order.  Shipping for the entire order ended up being about $100 bucks (ugh!).</p>
<p>All told, I estimate that I saved about $350 (incl. shipping) by ordering from Gruber.  Assuming the rest of my experience matches those of my friend, I highly recommend them.</p>
<p><strong>UPDATE (7/23/08):</strong> Got a personal email this morning from &#8220;Dawn&#8221; thanking me for my order and providing to me the UPS tracking numbers for my shipment.  Pretty cool.</p>
<p><strong>UPDATE (7/30/08):</strong> The batteries were delivered Monday, as projected.  I have installed one of them so far and it fit well, connected easily and seems to be a great product.</p>
]]></content:encoded>
			<wfw:commentRss>http://webguru.org/2008/07/21/general/replacement-batteries-for-apc-su1000xlnet-and-bu550r/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mapping the Future Route of I-540/NC540 with Google Maps</title>
		<link>http://webguru.org/2008/07/17/general/mapping-the-future-route-of-i-540nc540-with-google-maps/</link>
		<comments>http://webguru.org/2008/07/17/general/mapping-the-future-route-of-i-540nc540-with-google-maps/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 18:12:08 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[540]]></category>
		<category><![CDATA[eastern wake]]></category>
		<category><![CDATA[expressway]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[I-540]]></category>
		<category><![CDATA[I540]]></category>
		<category><![CDATA[NC 540]]></category>
		<category><![CDATA[NC DOT]]></category>
		<category><![CDATA[NC540]]></category>
		<category><![CDATA[outer belt]]></category>
		<category><![CDATA[projected]]></category>
		<category><![CDATA[route]]></category>
		<category><![CDATA[southern wake]]></category>
		<category><![CDATA[toll road]]></category>

		<guid isPermaLink="false">http://webguru.org/2008/07/17/general/mapping-the-future-route-of-i-540nc540-with-google-maps/</guid>
		<description><![CDATA[View I-540/NC540 Proposed Routes in a larger map
I&#8217;m very interested in where I-540/NC540 will be built (assuming NC comes up with the money, and by that I mean raises taxes, builds toll booths and/or Gov. Mike Easley stops robbing the Highway Trust Fund).  The Southern Wake Expressway and the Eastern Wake Expressway will be a [...]]]></description>
			<content:encoded><![CDATA[<p><iframe width="575" height="400" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=116409505554706824342.000452396276f8838dc72&amp;t=p&amp;ll=35.73237,-78.699712&amp;spn=0.22252,0.388665&amp;output=embed"></iframe><br /><small>View <a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=116409505554706824342.000452396276f8838dc72&amp;t=p&amp;ll=35.73237,-78.699712&amp;spn=0.22252,0.388665&amp;source=embed" style="color:#0000FF;text-align:left">I-540/NC540 Proposed Routes</a> in a larger map</small></p>
<p>I&#8217;m very interested in where I-540/NC540 will be built (assuming NC comes up with the money, and by that I mean raises taxes, builds toll booths and/or Gov. Mike Easley stops robbing the Highway Trust Fund).  The Southern Wake Expressway and the Eastern Wake Expressway will be a great boon to the area and will make it so much easier to get around the triangle if you live in the increasingly popular corridor between Cary and Fuquay-Varina.  So, I did some searching and found the projected routes on the <a title="NC DOT Projects Website" href="https://apps.dot.state.nc.us/projects/tipsearch/Default.aspx">NC DOT Projects website</a>.</p>
<p>I&#8217;ve transferred what I found there on various maps into Google Maps.  The route should be pretty close to what is shown on the planning maps from DOT.  I used the satellite view from Google Maps and my own common sense to determine where certain road and property crossing would take place.  For example, I made the assumption that they would snake the road in and around established neighborhoods.  I could be wrong, but I think it is a pretty close approximation of the anticipated route.</p>
<p>Google Maps allows you to export a custom map into a KMZ file, suitable for viewing in Google Earth.  I am making that file <a title="I-540/NC540 Future Route KMZ File" href="/wp-content/uploads/2008/07/I-540_NC540_route.kmz">available here as well</a>.</p>
<p><a href="http://content.screencast.com/media/ba902571-6b75-4c04-a152-3ec376ecf563_e05c80de-13f2-4cd2-9256-5288ae1d27ce_static_0_0_2008-07-17_1343.png"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://webguru.org/2008/07/17/general/mapping-the-future-route-of-i-540nc540-with-google-maps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sunset Over Agistri, Greece</title>
		<link>http://webguru.org/2008/06/30/travel/sunset-over-agistri-greece/</link>
		<comments>http://webguru.org/2008/06/30/travel/sunset-over-agistri-greece/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 20:50:36 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://webguru.org/2008/06/30/travel/sunset-over-agistri-greece/</guid>
		<description><![CDATA[
We had a great time visiting this tiny island near Aegina in the Saronic Gulf, south of Athens, Greece.
]]></description>
			<content:encoded><![CDATA[<p align="center"><a href="http://picasaweb.google.com/bbellwfu/Greece2008AgistriAndSaronicGulf/" target="_blank"><img src="http://lh4.ggpht.com/bbellwfu/SFp-oe5g3xI/AAAAAAAAKCo/Fy5QBb1Tisg/IMG_8386.JPG?imgmax=800" alt="Sunset over Agistri" border="0" width="550" height="413" /></a></p>
<p>We had a great time visiting this tiny island near Aegina in the Saronic Gulf, south of Athens, Greece.</p>
]]></content:encoded>
			<wfw:commentRss>http://webguru.org/2008/06/30/travel/sunset-over-agistri-greece/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

