<?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>Create The Internet... &#187; Uncategorized</title>
	<atom:link href="http://createtheinternet.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://createtheinternet.com</link>
	<description>It&#039;s What I Do EVERY Day - Joseph Yancey</description>
	<lastBuildDate>Wed, 16 Jun 2010 05:07:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MySQL Joins</title>
		<link>http://createtheinternet.com/2010-05-16/mysql-joins/</link>
		<comments>http://createtheinternet.com/2010-05-16/mysql-joins/#comments</comments>
		<pubDate>Sun, 16 May 2010 06:21:07 +0000</pubDate>
		<dc:creator>Joseph Yancey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://createtheinternet.com/?p=229</guid>
		<description><![CDATA[I hated joins as a young developer.  I just want the world to know that.  Once I found out exactly how they worked, I didn't hate them at all.  Joins can be your friend.
Joins simply relate rows in one table with rows in another table.
Take these tables for example:
Books
+---------+-----------+
&#124; book_id &#124; author    [...]]]></description>
			<content:encoded><![CDATA[<p>I hated joins as a young developer.  I just want the world to know that.  Once I found out exactly how they worked, I didn't hate them at all.  Joins can be your friend.</p>
<p>Joins simply relate rows in one table with rows in another table.</p>
<p>Take these tables for example:</p>
<pre>Books
+---------+-----------+
| book_id | author    |
+---------+-----------+
|   1     |     joseph|
|   2     |     john  |
|   3     |      sue  |
|   4     |     NULL  |
|   5     |     john  |
|   6     |     sam   |
+---------+-----------+

Authors
+---------+-----------+
| author  | sex       |
+---------+-----------+
|   joseph|     male  |
|   john  |     male  |
|   sue   |     female|
|   lucy  |     female|
|   sam   |     NULL  | &lt;- lets just pretend we don't know
+---------+-----------+
</pre>
<p>In MySQL, there are three important types of joins.  There are:</p>
<ol>
<li>Inner Joins</li>
<li>Left Joins</li>
<li>Right Joins</li>
</ol>
<h3></h3>
<h3>Inner Joins</h3>
<p>Inner joins combine rows that have matches in both tables.  There  will be no nulls left in the resulting table at all.  This query would  be written like:</p>
<ul>
<li>select * from Books, Authors where Books.author = Authors.author</li>
<li>or</li>
<li>select * from Books inner join Authors on (Books.author = Authors.author)</li>
</ul>
<p>You will get back:</p>
<pre>+---------+---------+-----------+
| book_id | author  | sex       |
+---------+---------+-----------+
|    1    |   joseph|     male  |
|    2    |   john  |     male  |
|    3    |   sue   |     female|
|    5    |   john  |     male  |
+---------+---------+-----------+
</pre>
<h3></h3>
<h3>Left Joins</h3>
<p>Left joins take all results from the left table and combine the matching results from the right table.  This query would  be written like:</p>
<ul>
<li>select * from Books left join Authors on (Books.author = Authors.author)</li>
</ul>
<p>You will get back:</p>
<pre>+---------+---------+-----------+
| book_id | author  | sex       |
+---------+---------+-----------+
|    1    |   joseph|     male  |
|    2    |   john  |     male  |
|    3    |   sue   |     female|
|    4    |   NULL  |     NULL  | &lt;- because there isn't an author to match
|    5    |   john  |     male  |
|    6    |   sam   |     NULL  | &lt;- because we don't know sam's sex
+---------+---------+-----------+
</pre>
<h3></h3>
<h3>Right Joins</h3>
<p>Right joins are exactly like left joins but they will give all results from the right table while matching the left table to it.  This query would  be written like:</p>
<ul>
<li>select * from Books right join Authors on (Books.author = Authors.author)</li>
</ul>
<p>You will get back:</p>
<pre>+---------+---------+-----------+
| book_id | author  | sex       |
+---------+---------+-----------+
|    1    |   joseph|     male  |
|    2    |   john  |     male  |
|    5    |   john  |     male  | &lt;- john is here twice because there are 2 matches in the left table
|    3    |   sue   |     female|
|    NULL |   lucy  |     female| &lt;- because this is a right join and lucy is in the right table
|    6    |   sam   |     NULL  |
+---------+---------+-----------+
</pre>
]]></content:encoded>
			<wfw:commentRss>http://createtheinternet.com/2010-05-16/mysql-joins/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Find files in PHP</title>
		<link>http://createtheinternet.com/2010-05-16/find-files-in-php/</link>
		<comments>http://createtheinternet.com/2010-05-16/find-files-in-php/#comments</comments>
		<pubDate>Sun, 16 May 2010 05:28:48 +0000</pubDate>
		<dc:creator>Joseph Yancey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://createtheinternet.com/?p=226</guid>
		<description><![CDATA[There is a super easy way to get all files matching some particular pattern in PHP.  In comes "glob".  It sounds like some slimey green goop but really it is quite handy.  Glob will return an array of files that match a pattern.  Handy huh?



$files = glob&#40;&#34;*.txt&#34;&#41;;


foreach &#40;$files as $filename&#41; &#123;


&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>There is a super easy way to get all files matching some particular pattern in PHP.  In comes "glob".  It sounds like some slimey green goop but really it is quite handy.  <a href="http://www.php.net/manual/en/function.glob.php">Glob</a> will return an array of files that match a pattern.  Handy huh?</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$files</span> = <a href="http://www.php.net/glob"><span class="kw3">glob</span></a><span class="br0">&#40;</span><span class="st0">&quot;*.txt&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$files</span> <span class="kw1">as</span> <span class="re0">$filename</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;$filename size &quot;</span> . <a href="http://www.php.net/filesize"><span class="kw3">filesize</span></a><span class="br0">&#40;</span><span class="re0">$filename</span><span class="br0">&#41;</span> . <span class="st0">&quot;<span class="es0">\n</span>&quot;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://createtheinternet.com/2010-05-16/find-files-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery &#8211; Mouseover Fade</title>
		<link>http://createtheinternet.com/2010-05-15/jquery-mouseover-fade/</link>
		<comments>http://createtheinternet.com/2010-05-15/jquery-mouseover-fade/#comments</comments>
		<pubDate>Sun, 16 May 2010 04:59:49 +0000</pubDate>
		<dc:creator>Joseph Yancey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://createtheinternet.com/?p=79</guid>
		<description><![CDATA[This one is really simple.  You just make sure that you have jquery included on the page.  Then you create a div like this:



&#60;div id=&#34;whateveryouwant&#34;&#34; onmouseover=&#34;$(this).fadeTo('fast', 1)&#34; onmouseout=&#34;$(this).fadeTo('fast', '0.33')&#34;&#62;



&#160; &#160;Content



&#60;/div&#62;



&#60;script type=&#34;text/javascript&#34;&#62;



$(document).ready(function(){



$('#whateveryouwant').fadeTo('fast', '0.33');



});



&#60;/script&#62;



&#160;



That code should be very easy to understand.
In sit amet nulla. Curabitur ligula metus, bibendum nec, ullamcorper sed, ullamcorper sed, ligula. Lorem [...]]]></description>
			<content:encoded><![CDATA[<p>This one is <em>really</em> simple.  You just make sure that you have jquery included on the page.  Then you create a div like this:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;div id=&quot;whateveryouwant&quot;&quot; onmouseover=&quot;$(this).fadeTo('fast', 1)&quot; onmouseout=&quot;$(this).fadeTo('fast', '0.33')&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;Content
</div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;script type=&quot;text/javascript&quot;&gt;
</div>
</li>
<li class="li2">
<div class="de2">$(document).ready(function(){
</div>
</li>
<li class="li1">
<div class="de1">$('#whateveryouwant').fadeTo('fast', '0.33');
</div>
</li>
<li class="li1">
<div class="de1">});
</div>
</li>
<li class="li1">
<div class="de1">&lt;/script&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>That code should be very easy to understand.</p>
<div id="div1" style="float: left; width: 48%;" onmouseover="jQuery(this).fadeTo('fast', 1)" onmouseout="jQuery(this).fadeTo('fast', '0.33')">In sit amet nulla. Curabitur ligula metus, bibendum nec, ullamcorper sed, ullamcorper sed, ligula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis luctus laoreet leo? Praesent euismod accumsan turpis. Curabitur non diam. Curabitur condimentum, leo ut tincidunt feugiat; massa lorem blandit metus, a volutpat augue tortor nec sem. Suspendisse ac leo nec quam suscipit mollis. Fusce iaculis accumsan nunc. Nam viverra, urna sit amet molestie pretium, ante tellus volutpat neque, quis tristique felis elit sed magna. Nulla condimentum. Etiam vitae lacus in est laoreet egestas.<br />
Nulla porta orci pulvinar tellus. Ut lorem purus; consequat ut, bibendum vel, sagittis sit amet, mauris. Etiam elit sem, rhoncus lobortis, dapibus vitae, convallis eu, enim. In ipsum augue, volutpat pulvinar, molestie non, accumsan eget, turpis. Sed porttitor tincidunt purus! Nunc fringilla, ipsum id cras amet.</div>
<div id="div2" style="float: right; width: 48%;" onmouseover="jQuery(this).fadeTo('fast', 1)" onmouseout="jQuery(this).fadeTo('fast', '0.33')">In sit amet nulla. Curabitur ligula metus, bibendum nec, ullamcorper sed, ullamcorper sed, ligula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis luctus laoreet leo? Praesent euismod accumsan turpis. Curabitur non diam. Curabitur condimentum, leo ut tincidunt feugiat; massa lorem blandit metus, a volutpat augue tortor nec sem. Suspendisse ac leo nec quam suscipit mollis. Fusce iaculis accumsan nunc. Nam viverra, urna sit amet molestie pretium, ante tellus volutpat neque, quis tristique felis elit sed magna. Nulla condimentum. Etiam vitae lacus in est laoreet egestas.<br />
Nulla porta orci pulvinar tellus. Ut lorem purus; consequat ut, bibendum vel, sagittis sit amet, mauris. Etiam elit sem, rhoncus lobortis, dapibus vitae, convallis eu, enim. In ipsum augue, volutpat pulvinar, molestie non, accumsan eget, turpis. Sed porttitor tincidunt purus! Nunc fringilla, ipsum id cras amet.</div>
<p><script type="text/javascript">// <![CDATA[
   jQuery(document).ready(function(){  jQuery('#div1').fadeTo('fast', '0.33');  jQuery('#div2').fadeTo('fast', '0.33'); });
// ]]&gt;</script></p>
]]></content:encoded>
			<wfw:commentRss>http://createtheinternet.com/2010-05-15/jquery-mouseover-fade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My life Changed</title>
		<link>http://createtheinternet.com/2009-11-21/my-life-change/</link>
		<comments>http://createtheinternet.com/2009-11-21/my-life-change/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 19:03:02 +0000</pubDate>
		<dc:creator>Joseph Yancey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://createtheinternet.com/?p=160</guid>
		<description><![CDATA[On November 20th 2009 at 4:50pm my life changed.  My son was born.  At 7 pounds 6.5 ounces and 21 inches long he is a long skinny little guy.  He has a head full of hair and looks like his daddy.  I always wanted a family of my own and now [...]]]></description>
			<content:encoded><![CDATA[<p>On November 20th 2009 at 4:50pm my life changed.  My son was born.  At 7 pounds 6.5 ounces and 21 inches long he is a long skinny little guy.  He has a head full of hair and looks like his daddy.  I always wanted a family of my own and now I have it.  My wife, my son, and I now make up my happy little family.  He is quite perfect.  I have pictures posted <a href="http://createtheinternet.com/photos/?shashin_album_key=3">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://createtheinternet.com/2009-11-21/my-life-change/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Bit.ly API function</title>
		<link>http://createtheinternet.com/2009-10-16/bit-ly/</link>
		<comments>http://createtheinternet.com/2009-10-16/bit-ly/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 21:14:26 +0000</pubDate>
		<dc:creator>Joseph Yancey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://createtheinternet.com/?p=135</guid>
		<description><![CDATA[Everyone knows about the bit.ly url shortening service.  I have created a php function to automatically shorten a url passed to it.  First, you need to go to bit.ly and signup for an account.  You will need your api key and your username.  With my function, you simply insert your api key and [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone knows about the bit.ly url shortening service.  I have created a php function to automatically shorten a url passed to it.  First, you need to go to <a href="http://bit.ly">bit.ly</a> and signup for an account.  You will need your api key and your username.  With my function, you simply insert your api key and username and it will return a shortened url to you.</p>
<p>If you notice, this function will retry 5 times before it gives up.  That is because bitly will only allow 3 concurrent requests per IP.  My function also will only make the request to bit.ly once per page per session.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> getTinyURL<span class="br0">&#40;</span><span class="re0">$url</span>, <span class="re0">$counter</span> = <span class="nu0">0</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<a href="http://www.php.net/global"><span class="kw3">global</span></a> <span class="re0">$_SESSION</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; </div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$_WP_SESS</span><span class="br0">&#91;</span><span class="st0">'bitlyurl'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re0">$url</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$_SESSION</span><span class="br0">&#91;</span><span class="st0">'bitlyurl'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re0">$url</span><span class="br0">&#93;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re0">$counter</span>++;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$counter</span> &gt; <span class="nu0">5</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$url</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re0">$login</span> = <span class="st0">''</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re0">$appkey</span> = <span class="st0">''</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re0">$bitly</span> = <span class="st0">'http://api.bit.ly/shorten?version=2.0.1&amp;amp;longUrl='</span>.<a href="http://www.php.net/urlencode"><span class="kw3">urlencode</span></a><span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#41;</span>.<span class="st0">'&amp;amp;login=goywp&amp;amp;apiKey='</span>.<span class="re0">$appkey</span>.<span class="st0">'&amp;amp;format=xml'</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$response</span> = <a href="http://www.php.net/file_get_contents"><span class="kw3">file_get_contents</span></a><span class="br0">&#40;</span><span class="re0">$bitly</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">//Debug::printvar($response);</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re0">$xml</span> = simplexml_load_string<span class="br0">&#40;</span><span class="re0">$response</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$xml</span>-&gt;<span class="me1">results</span>-&gt;<span class="me1">nodeKeyVal</span>-&gt;<span class="me1">hash</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re0">$result</span> = <span class="st0">'http://bit.ly/'</span>.<span class="re0">$xml</span>-&gt;<span class="me1">results</span>-&gt;<span class="me1">nodeKeyVal</span>-&gt;<span class="me1">hash</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re0">$_SESSION</span><span class="br0">&#91;</span><span class="st0">'bitlyurl'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re0">$url</span><span class="br0">&#93;</span> = <span class="re0">$result</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">return</span> <span class="re0">$result</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="kw1">else</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$xml</span>-&gt;<span class="me1">results</span>-&gt;<span class="me1">nodeKeyVal</span>-&gt;<span class="me1">errorCode</span> == <span class="nu0">1206</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$url</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span><span class="kw1">else</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> Request::<span class="me2">getTinyURL</span><span class="br0">&#40;</span><span class="re0">$url</span>, <span class="re0">$counter</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span><span class="kw1">else</span><span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> Request::<span class="me2">getTinyURL</span><span class="br0">&#40;</span><span class="re0">$url</span>, <span class="re0">$counter</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://createtheinternet.com/2009-10-16/bit-ly/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>reCAPTCHA</title>
		<link>http://createtheinternet.com/2009-09-16/recaptcha/</link>
		<comments>http://createtheinternet.com/2009-09-16/recaptcha/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 04:08:20 +0000</pubDate>
		<dc:creator>Joseph Yancey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://createtheinternet.com/?p=126</guid>
		<description><![CDATA[I'm sure that you have seen a captcha somewhere on the web.  A captcha is an image that you have to type the contents of to continue on in a form.  We use them at work from time to time.  I've been interested in but never used the reCAPTCHA system.  Recently purchased by google, I [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-128" title="reCAPTCHA Example" src="http://createtheinternet.com/wp-content/uploads/2009/09/recaptcha-example.gif" alt="reCAPTCHA Example" width="314" height="125" />I'm sure that you have seen a <a href="http://en.wikipedia.org/wiki/CAPTCHA" target="_blank">captcha</a> somewhere on the web.  A captcha is an image that you have to type the contents of to continue on in a form.  We use them at work from time to time.  I've been interested in but never used the <a href="http://recaptcha.net/" target="_blank">reCAPTCHA </a>system.  Recently purchased by google, I get the feeling that they will see alot more use in the coming months.</p>
<p>reCAPTCHA is a system that solves two problems in one.  <a href="http://en.wikipedia.org/wiki/Optical_character_recognition" target="_blank">Optical Character Recognition</a> has always had the issue of hard to read words.  Computers simply can not read quite like humans.  This is precisely why captchas work so well.  To defeat a captcha and spread spam, a bot would have to be great at OCR.  reCAPTCHA takes scans of old books and presents them to users.  One of the words presented is known and the other is unknown.  When a certain number of people answer the same on the unknown word, it is considered known.  Using the reCAPTCHA system, we are digitising books one word at a time.<img class="aligncenter size-full wp-image-127" title="Sample OCR" src="http://createtheinternet.com/wp-content/uploads/2009/09/sample-ocr.gif" alt="Sample OCR" width="544" height="108" /></p>
]]></content:encoded>
			<wfw:commentRss>http://createtheinternet.com/2009-09-16/recaptcha/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bank Routing Number (ABA) Algorithm</title>
		<link>http://createtheinternet.com/2009-08-30/bank-routing-number-algorithm/</link>
		<comments>http://createtheinternet.com/2009-08-30/bank-routing-number-algorithm/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 04:28:52 +0000</pubDate>
		<dc:creator>Joseph Yancey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://createtheinternet.com/?p=113</guid>
		<description><![CDATA[At work, I have recently had to work on some validation for bank routing numbers.  Through much research, I have discovered the algorithm.  
The number that I am talking about here is the ABA Routing Number.
We'll start with a routing number like 231381116. Here's how the algorithm works. First, strip out any non-numeric characters (like [...]]]></description>
			<content:encoded><![CDATA[<p>At work, I have recently had to work on some validation for bank routing numbers.  Through much research, I have discovered the algorithm.  <img title="Check" src="http://createtheinternet.com/wp-content/uploads/2009/08/aba_number.gif" alt="Check" /></p>
<p>The number that I am talking about here is the ABA Routing Number.</p>
<p>We'll start with a routing number like 231381116. Here's how the algorithm works. First, strip out any non-numeric characters (like dashes or spaces) and makes sure the resulting string's length is nine digits,</p>
<p>2 3 1 3 8 1 1 1 6</p>
<p>Then we multiply the first digit by 3, the second by 7, the third by 1, the fourth by 3, the fifth by 7, the sixth by 1, etc., and add them all up.</p>
<p>(2 x 3) + (3 x 7) + (1 x 1) +<br />
(3x 3) + (8 x 7) + (1 x 1) +<br />
(1 x 3) + (1 x 7) + (6 x 1) = 110</p>
<p>If the resulting number is an integer multiple of 10, then the number is valid.  To calculate what the checksum digit should be, follow the above algorithm for the first 8 digits.  In the case above, you would come up with 104.  Thus, to make the total number an integer multiple of 10, the final check digit must be 6.</p>
<h3>Enough with the details, on with the algorithm!</h3>
<h4>PHP5</h4>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">function</span> validateABA<span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">//strip everything but numbers (dashes and whatnot)</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re0">$number</span> = <a href="http://www.php.net/ereg_replace"><span class="kw3">ereg_replace</span></a><span class="br0">&#40;</span><span class="st0">&quot;[^0-9]&quot;</span>, <span class="st0">&quot;&quot;</span>, <span class="re0">$number</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp;<span class="co1">//check the length of the number</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/strlen"><span class="kw3">strlen</span></a><span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#41;</span> != <span class="nu0">9</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">false</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp;<span class="co1">//split the number into an array</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re0">$number</span> = str_split<span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">//run the number through our algorithm</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re0">$rval</span> = <span class="re0">$number</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> * <span class="nu0">3</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp;<span class="re0">$rval</span> = <span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span> * <span class="nu0">7</span><span class="br0">&#41;</span> + <span class="re0">$rval</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re0">$rval</span> = <span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span> * <span class="nu0">1</span><span class="br0">&#41;</span> + <span class="re0">$rval</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re0">$rval</span> = <span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#91;</span><span class="nu0">3</span><span class="br0">&#93;</span> * <span class="nu0">3</span><span class="br0">&#41;</span> + <span class="re0">$rval</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re0">$rval</span> = <span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#91;</span><span class="nu0">4</span><span class="br0">&#93;</span> * <span class="nu0">7</span><span class="br0">&#41;</span> + <span class="re0">$rval</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re0">$rval</span> = <span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#91;</span><span class="nu0">5</span><span class="br0">&#93;</span> * <span class="nu0">1</span><span class="br0">&#41;</span> + <span class="re0">$rval</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp;<span class="re0">$rval</span> = <span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#91;</span><span class="nu0">6</span><span class="br0">&#93;</span> * <span class="nu0">3</span><span class="br0">&#41;</span> + <span class="re0">$rval</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re0">$rval</span> = <span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#91;</span><span class="nu0">7</span><span class="br0">&#93;</span> * <span class="nu0">7</span><span class="br0">&#41;</span> + <span class="re0">$rval</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re0">$rval</span> = <span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#91;</span><span class="nu0">8</span><span class="br0">&#93;</span> * <span class="nu0">1</span><span class="br0">&#41;</span> + <span class="re0">$rval</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">// check if it is an integer multiple of 10</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/is_int"><span class="kw3">is_int</span></a><span class="br0">&#40;</span><span class="re0">$rval</span>/<span class="nu0">10</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$rval</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span><span class="kw1">else</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">false</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://createtheinternet.com/2009-08-30/bank-routing-number-algorithm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gmail HTML Signature</title>
		<link>http://createtheinternet.com/2009-07-26/gmail-html-signature/</link>
		<comments>http://createtheinternet.com/2009-07-26/gmail-html-signature/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 04:33:06 +0000</pubDate>
		<dc:creator>Joseph Yancey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://createtheinternet.com/?p=106</guid>
		<description><![CDATA[
Those of us that use Gmail know that adding an HTML signature can be a pain in the behind.  Typically, Gmail only allows standard plain text signatures.  I have discovered a  great Firefox plugin named Blank Canvas Gmail Signatures.  This plugin allows you to easily add signatures to each sending address within your account.
Simply compose [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-110" title="gmail html signature" src="http://createtheinternet.com/wp-content/uploads/2009/07/gmail-html-signature1.jpg" alt="gmail html signature" width="401" height="252" /></p>
<p>Those of us that use Gmail know that adding an HTML signature can be a pain in the behind.  Typically, Gmail only allows standard plain text signatures.  I have discovered a  great Firefox plugin named <a href="https://addons.mozilla.org/en-US/firefox/addon/7757"><span>Blank Canvas Gmail Signatures</span></a>.  This plugin allows you to easily add signatures to each sending address within your account.</p>
<p>Simply compose a message and click "Create Signature".  Once you have done that for the sending account that you want, your screen will look something like the image on the right.  From now on out, any email that you send from Gmail on that computer will have whatever HTML signature you want.</p>
]]></content:encoded>
			<wfw:commentRss>http://createtheinternet.com/2009-07-26/gmail-html-signature/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>First Post!</title>
		<link>http://createtheinternet.com/2009-04-18/first-post/</link>
		<comments>http://createtheinternet.com/2009-04-18/first-post/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 03:38:59 +0000</pubDate>
		<dc:creator>Joseph Yancey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://createtheinternet.com/?p=1</guid>
		<description><![CDATA[Just switched to WordPress...  Still in twitter mode.  Posts shall be short!  By the way,  WordPress is pretty cool.  The backend could be labled a little better.  Has anyone ever heard of using the title tag on a link to explain what the link is?  Guess not...
I'm out...
]]></description>
			<content:encoded><![CDATA[<p>Just switched to WordPress...  Still in twitter mode.  Posts shall be short!  By the way,  WordPress is pretty cool.  The backend could be labled a little better.  Has anyone ever heard of using the title tag on a link to explain what the link is?  Guess not...</p>
<p>I'm out...</p>
]]></content:encoded>
			<wfw:commentRss>http://createtheinternet.com/2009-04-18/first-post/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
