<?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>BillGrady.com</title>
	<atom:link href="http://billgrady.com/wp/feed/" rel="self" type="application/rss+xml" />
	<link>http://billgrady.com/wp</link>
	<description>I Wager Fifteen Quatloos That He Is Untrainable</description>
	<lastBuildDate>Thu, 15 Mar 2012 00:11:08 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>MySQL joins on IP addresses</title>
		<link>http://billgrady.com/wp/2012/03/14/mysql-joins-on-ip-addresses/</link>
		<comments>http://billgrady.com/wp/2012/03/14/mysql-joins-on-ip-addresses/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 00:11:08 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://billgrady.com/wp/?p=352</guid>
		<description><![CDATA[If you are doing this: using MySQL storing IPv4 addresses as varchar attempting to join two tables on IPv4 varchar columns You need to stop and go learn about INET_ATON. It converts those IP addresses to BIGINTS and speeds up &#8230; <a href="http://billgrady.com/wp/2012/03/14/mysql-joins-on-ip-addresses/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>If you are doing this:</p>
<ol>
<li>using MySQL</li>
<li>storing IPv4 addresses as varchar</li>
<li>attempting to join two tables on IPv4 varchar columns</li>
</ol>
<p>You need to stop and go learn about INET_ATON. It converts those IP addresses to BIGINTS and speeds up your queries like you wouldn&#8217;t believe. I had an existing project that did not require any joins against my IPs, so I never bothered to do the conversion. I&#8217;m currently neck-deep in some new code that requires me to join against those same IPs, and INET_ATON took my queries from 120 seconds to under half a second to complete.</p>
<p>Those are results you can believe in.</p>
]]></content:encoded>
			<wfw:commentRss>http://billgrady.com/wp/2012/03/14/mysql-joins-on-ip-addresses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Widget: Bill&#8217;s ArtistData Widget</title>
		<link>http://billgrady.com/wp/2011/01/23/wordpress-widget-artistdata_gigs_rss/</link>
		<comments>http://billgrady.com/wp/2011/01/23/wordpress-widget-artistdata_gigs_rss/#comments</comments>
		<pubDate>Sun, 23 Jan 2011 21:49:38 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://billgrady.com/wp/?p=338</guid>
		<description><![CDATA[I have podged together my first WordPress Widget: Bill&#8217;s ArtistData Widget Not suprisingly, it displays your band&#8217;s Artistdata.com upcoming shows RSS feed in your sidebar. I will update this post with the WordPress.org link as soon as it&#8217;s approved. Download &#8230; <a href="http://billgrady.com/wp/2011/01/23/wordpress-widget-artistdata_gigs_rss/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I have podged together my first WordPress Widget: Bill&#8217;s ArtistData Widget</p>
<p>Not suprisingly, it displays your band&#8217;s Artistdata.com upcoming shows RSS feed in your sidebar.</p>
<p>
<div class="ngg-galleryoverview" id="ngg-gallery-3-338">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-21" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://billgrady.com/wp/wp-content/gallery/artistdata_rss_shows/artistdata02.jpg" title=" " class="thickbox" rel="set_3" >
								<img title="artistdata02" alt="artistdata02" src="http://billgrady.com/wp/wp-content/gallery/artistdata_rss_shows/thumbs/thumbs_artistdata02.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-20" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://billgrady.com/wp/wp-content/gallery/artistdata_rss_shows/artistdata01.jpg" title=" " class="thickbox" rel="set_3" >
								<img title="artistdata01" alt="artistdata01" src="http://billgrady.com/wp/wp-content/gallery/artistdata_rss_shows/thumbs/thumbs_artistdata01.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>

<br />
I will update this post with the WordPress.org link as soon as it&#8217;s approved.</p>
<p>Download &#8220;Bill&#8217;s ArtistData Widget&#8221; here &#8211;&gt; <a href="http://billgrady.com/wp/wp-content/uploads/2011/01/artistdata.zip">artistdata</a></p>
]]></content:encoded>
			<wfw:commentRss>http://billgrady.com/wp/2011/01/23/wordpress-widget-artistdata_gigs_rss/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>You have requested an outdated version of PayPal. This error often results from the use of bookmarks.</title>
		<link>http://billgrady.com/wp/2010/03/11/you-have-requested-an-outdated-version-of-paypal-this-error-often-results-from-the-use-of-bookmarks/</link>
		<comments>http://billgrady.com/wp/2010/03/11/you-have-requested-an-outdated-version-of-paypal-this-error-often-results-from-the-use-of-bookmarks/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 23:57:33 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://billgrady.com/wp/?p=320</guid>
		<description><![CDATA[Do you have a cart that uses PayPal? Been working for years without any trouble? Then, suddenly, all your users see this: &#8220;You have requested an outdated version of PayPal. This error often results from the use of bookmarks.&#8221; Have &#8230; <a href="http://billgrady.com/wp/2010/03/11/you-have-requested-an-outdated-version-of-paypal-this-error-often-results-from-the-use-of-bookmarks/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Do you have a cart that uses PayPal? Been working for years without any trouble? Then, suddenly, all your users see this:</p>
<p style="text-align: center;"><strong>&#8220;You have requested an outdated version of PayPal. This error often  results from the use of bookmarks.&#8221;</strong></p>
<p style="text-align: left;">Have no fear, it&#8217;s an <a href="https://www.x.com/message/167034#167034" target="_blank">easy fix</a>. Essentially, you remove the <span><em>enctype=&#8221;multipart/form-data&#8221;</em> from your form tag. Done.<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://billgrady.com/wp/2010/03/11/you-have-requested-an-outdated-version-of-paypal-this-error-often-results-from-the-use-of-bookmarks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Installing OpenSUSE 11.2 With A 2Wire USB Adapter</title>
		<link>http://billgrady.com/wp/2010/03/07/installing-opensuse-112-with-a-2wire-usb-adapter/</link>
		<comments>http://billgrady.com/wp/2010/03/07/installing-opensuse-112-with-a-2wire-usb-adapter/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 20:29:01 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://billgrady.com/wp/?p=318</guid>
		<description><![CDATA[Here&#8217;s your &#8220;pro-tip&#8221; for the day: IF you&#8217;re installing OpenSUSE 11.2 AND you&#8217;re worried about driver support for your USB wireless adapter (specifically, for example, the 2Wire US-G-AT-02), just plug the thing in when you boot from the install disc. &#8230; <a href="http://billgrady.com/wp/2010/03/07/installing-opensuse-112-with-a-2wire-usb-adapter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Here&#8217;s your &#8220;pro-tip&#8221; for the day:</p>
<p>IF you&#8217;re installing OpenSUSE 11.2 AND you&#8217;re worried about driver support for your USB wireless adapter (specifically, for example, the 2Wire US-G-AT-02), just plug the thing in when you boot from the install disc. Amazingly enough, it installs all drivers and wrappers correctly and is ready to use on first boot.</p>
<p>Amazing. People make a face when I say I use OpenSUSE, but it very rarely disappoints.</p>
]]></content:encoded>
			<wfw:commentRss>http://billgrady.com/wp/2010/03/07/installing-opensuse-112-with-a-2wire-usb-adapter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IP Matching With CIDR Notation In PHP</title>
		<link>http://billgrady.com/wp/2009/05/21/ip-matching-with-cidr-notation-in-php/</link>
		<comments>http://billgrady.com/wp/2009/05/21/ip-matching-with-cidr-notation-in-php/#comments</comments>
		<pubDate>Thu, 21 May 2009 21:48:14 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://billgrady.com/wp/?p=314</guid>
		<description><![CDATA[Sometimes you can&#8217;t find an answer, no matter how hard you Google. I consider myself lucky to have found this answer! The Problem: You have a list of IP ranges in CIDR notation. You need to take visiting IPs and &#8230; <a href="http://billgrady.com/wp/2009/05/21/ip-matching-with-cidr-notation-in-php/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Sometimes you can&#8217;t find an answer, no matter how hard you Google. I consider myself lucky to have found this answer!</p>
<p><strong>The Problem</strong>: You have a list of IP ranges in CIDR notation. You need to take visiting IPs and evaluate if they are within this list of allowed addresses. And, you need to do it in PHP.</p>
<p><strong>The Answer: </strong>Load your CIDR list into an array and evaluate each visiting IP with the following function (found <a title="ZEND CIDR" href="http://framework.zend.com/svn/framework/extras/incubator/library/ZendX/Whois/Adapter/Cidr.php" target="_blank">here</a>)&#8230;</p>
<pre>function ipfilter($ip) {</pre>
<pre>    $source = array("10.0.0.0/8",
        "192.168.1.1/32",
        "127.0.0.0/8");</pre>
<pre>    foreach ($source as $line) {
    

        // Get the base and the bits from the CIDR
        list($base, $bits) = explode('/', $line);
       
        // Now split it up into it's classes
        list($a, $b, $c, $d) = explode('.', $base);
       
        // Now do some bit shifting/switching to convert to ints
        $i    = ($a &lt;&lt; 24) + ($b &lt;&lt; 16) + ( $c &lt;&lt; 8 ) + $d;
        $mask = $bits == 0 ? 0: (~0 &lt;&lt; (32 - $bits));
       
        // Here's our lowest int
        $low = $i &amp; $mask;
       
        // Here's our highest int
        $high = $i | (~$mask &amp; 0xFFFFFFFF);
       
        // Now split the ip we're checking against up into classes
        list($a, $b, $c, $d) = explode('.', $ip);
       
        // Now convert the ip we're checking against to an int
        $check = ($a &lt;&lt; 24) + ($b &lt;&lt; 16) + ( $c &lt;&lt; 8 ) + $d;
       
        // If the ip is within the range, including highest/lowest values,
        // then it's witin the CIDR range
        if ($check &gt;= $low &amp;&amp; $check &lt;= $high) {
            return 1;
        }</pre>
<pre>    }</pre>
<pre>    return 0;</pre>
<p>}</p>
<p>Is it efficient? I don&#8217;t know. Does it work? Yes it does. And thats more than I can say about other solutions to this problem that I found (<a href="http://us.php.net/manual/en/function.ip2long.php#86793" target="_blank">here</a> and elsewhere).</p>
]]></content:encoded>
			<wfw:commentRss>http://billgrady.com/wp/2009/05/21/ip-matching-with-cidr-notation-in-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bacon!</title>
		<link>http://billgrady.com/wp/2008/11/14/bacon/</link>
		<comments>http://billgrady.com/wp/2008/11/14/bacon/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 23:21:22 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://billgrady.com/wp/2008/11/14/bacon/</guid>
		<description><![CDATA[Mmm. Originally uploaded by bethography &#8211; melting mama W. T. F.]]></description>
				<content:encoded><![CDATA[<div style="float: right; margin-left: 10px; margin-bottom: 10px;">
<a href="http://www.flickr.com/photos/meltingmama/3027819056/" title="photo sharing"><img src="http://farm4.static.flickr.com/3148/3027819056_189fcb234f_m.jpg" alt="" style="border: solid 2px #000000;" /></a><br />
<br />
<span style="font-size: 0.9em; margin-top: 0px;"><br />
<a href="http://www.flickr.com/photos/meltingmama/3027819056/">Mmm.</a><br />
<br />
Originally uploaded by <a href="http://www.flickr.com/people/meltingmama/">bethography &#8211; melting mama</a><br />
</span>
</div>
<p>W. T. F.<br />
<br clear="all" /></p>
]]></content:encoded>
			<wfw:commentRss>http://billgrady.com/wp/2008/11/14/bacon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>McCain/Obama: Compare &amp; Contrast</title>
		<link>http://billgrady.com/wp/2008/09/23/mccainobama-compare-contrast/</link>
		<comments>http://billgrady.com/wp/2008/09/23/mccainobama-compare-contrast/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 22:09:34 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://billgrady.com/wp/?p=308</guid>
		<description><![CDATA[Found in the comments section on THR.com: Graduate from Harvard law School and you are unstable. Attend 5 different small colleges before graduating, you&#8217;re well grounded. If you spend 3 years as a brilliant community organizer, become the first black President &#8230; <a href="http://billgrady.com/wp/2008/09/23/mccainobama-compare-contrast/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Found in the comments section on <a href="http://www.hollywoodreporter.com/hr/content_display/news/e3i382d62ad1770e9ed12fc116b7ba84dc9">THR.com</a>:</p>
<ul>
<li>Graduate from Harvard law School and you are unstable.</li>
<li>Attend 5 different small colleges before graduating, you&#8217;re well grounded.</li>
</ul>
<ul>
<li>If you spend 3 years as a brilliant community organizer, become the first black President of the Harvard Law Review, create a voter registration drive that registers 150,000 new voters, spend 12 years as a Constitutional Law professor, spend 8 years as a State Senator representing a district with over 750,000 people, become chairman of the state Senate&#8217;s Health and Human Services committee, spend 4 years in the United States Senate representing a state of 13 million people while sponsoring 131 bills and serving on the Foreign Affairs, Environment and Public Works and Veteran&#8217;s Affairs committees, you don&#8217;t have any real leadership experience.</li>
<li>If your total resume is: local weather girl, 4 years on the city council and 6 years as the mayor of a town with less than 7,000 people, 20 months as the governor of a state with only 650,000 people, then you&#8217;re qualified to become the country&#8217;s second highest ranking executive.</li>
</ul>
<ul>
<li>If you have been married to the same woman for 19 years while raising 2 beautiful daughters, all within Protestant churches, you&#8217;re not a real Christian.</li>
<li>If you cheated on your first wife with a rich heiress, and left your disfigured wife and married the heiress the next month, you&#8217;re a Christian.</li>
</ul>
<ul>
<li>If you teach responsible, age appropriate sex education, including the proper use of birth control, you are eroding the fiber of society.</li>
<li>If , while governor, you staunchly advocate abstinence only, With no other option in sex education in your state&#8217;s school system while your unwed teen daughter ends up pregnant , you&#8217;re very responsible.</li>
</ul>
<p>OK, much clearer now.</p>
]]></content:encoded>
			<wfw:commentRss>http://billgrady.com/wp/2008/09/23/mccainobama-compare-contrast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Son Of Hurricane Fever vs. Gojira!</title>
		<link>http://billgrady.com/wp/2008/09/15/son-of-hurricane-fever-vs-gojira/</link>
		<comments>http://billgrady.com/wp/2008/09/15/son-of-hurricane-fever-vs-gojira/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 01:56:22 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://billgrady.com/wp/?p=305</guid>
		<description><![CDATA[I don&#8217;t have to tell you that being without power for two and a half days sucks beyond compare, do I? I didn&#8217;t think so.]]></description>
				<content:encoded><![CDATA[<p>I don&#8217;t have to tell you that being without power for two and a half days sucks beyond compare, do I? I didn&#8217;t think so.</p>
]]></content:encoded>
			<wfw:commentRss>http://billgrady.com/wp/2008/09/15/son-of-hurricane-fever-vs-gojira/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Son Of Hurricane Fever</title>
		<link>http://billgrady.com/wp/2008/09/12/son-of-hurricane-fever/</link>
		<comments>http://billgrady.com/wp/2008/09/12/son-of-hurricane-fever/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 14:37:08 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://billgrady.com/wp/?p=296</guid>
		<description><![CDATA[You may remember a few years ago I posted some pictures of the traffic on the north Houston freeways a few days prior to Hurricane Rita coming ashore. No shocker, it&#8217;s happening again in the exact same fashion. One picture &#8230; <a href="http://billgrady.com/wp/2008/09/12/son-of-hurricane-fever/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>You may remember a few years ago I posted some <a href="http://billgrady.com/wp/?s=fever">pictures of the traffic on the north Houston freeways</a> a few days prior to Hurricane Rita coming ashore. No shocker, it&#8217;s happening again in the exact same fashion.</p>
<p>One picture was taken from the front page of a local TV station, showing the early-evening traffic on Thursday. The other is a capture from one of the traffic cameras pointed at the same stretch of highway earlier this morning. If nothing else, we&#8217;re consistent.</p>
<div class="ngg-galleryoverview" id="ngg-gallery-2-296">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-16" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://billgrady.com/wp/wp-content/gallery/hurricane/no_traffic.jpg" title=" " class="thickbox" rel="set_2" >
								<img title="no_traffic.jpg" alt="no_traffic.jpg" src="http://billgrady.com/wp/wp-content/gallery/hurricane/thumbs/thumbs_no_traffic.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-17" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://billgrady.com/wp/wp-content/gallery/hurricane/much_traffic.jpg" title=" " class="thickbox" rel="set_2" >
								<img title="much_traffic.jpg" alt="much_traffic.jpg" src="http://billgrady.com/wp/wp-content/gallery/hurricane/thumbs/thumbs_much_traffic.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>

]]></content:encoded>
			<wfw:commentRss>http://billgrady.com/wp/2008/09/12/son-of-hurricane-fever/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hey, That&#8217;s A Catchy Tune&#8230;</title>
		<link>http://billgrady.com/wp/2008/09/11/hey-thats-a-catchy-tune/</link>
		<comments>http://billgrady.com/wp/2008/09/11/hey-thats-a-catchy-tune/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 01:42:19 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://billgrady.com/wp/?p=292</guid>
		<description><![CDATA[BillGrady.com: Enabling YouTube Takedowns Since September, 2008! http://blogs.houstonpress.com/hairballs/2008/09/the_sound_of_ike.php]]></description>
				<content:encoded><![CDATA[<p>BillGrady.com: Enabling YouTube Takedowns Since September, 2008!</p>
<p><a href="http://blogs.houstonpress.com/hairballs/2008/09/the_sound_of_ike.php">http://blogs.houstonpress.com/hairballs/2008/09/the_sound_of_ike.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://billgrady.com/wp/2008/09/11/hey-thats-a-catchy-tune/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
