<?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>Ryan Brotherton</title>
	<atom:link href="http://www.ryanbrotherton.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.ryanbrotherton.com/blog</link>
	<description>Web Development and more.</description>
	<lastBuildDate>Sun, 09 May 2010 16:39:57 +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>PHP classes: Date Object (Add/Subtract dates)</title>
		<link>http://www.ryanbrotherton.com/blog/?p=106</link>
		<comments>http://www.ryanbrotherton.com/blog/?p=106#comments</comments>
		<pubDate>Thu, 08 Apr 2010 19:28:41 +0000</pubDate>
		<dc:creator>Ryan Brotherton</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[dates]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ryanbrotherton.com/blog/?p=106</guid>
		<description><![CDATA[While coding a recent project I was looking around for a good way to simplify adding and subtracting dates.  I found a function here written by &#8220;jm AT trinitywebdev DOT com&#8221;.  I modified this function slightly (formatting, added support for weeks) and built a class around it.  You can download the class [...]]]></description>
			<content:encoded><![CDATA[<p>While coding a recent project I was looking around for a good way to simplify adding and subtracting dates.  I found a function <a href="http://www.php.net/manual/en/function.date.php#95555">here</a> written by &#8220;jm AT trinitywebdev DOT com&#8221;.  I modified this function slightly (formatting, added support for weeks) and built a class around it.  You can <a href="/projects/date_class/c_date.txt">download the class here.</a></p>
<h3>Example Usage:</h3>
<pre class="brush: php;">
require "c_date.php";
$date = new date();

echo "Yesterday: " 	. $date->yesterday
echo "Today: " 		. $date->today
echo "Tomorrow: " 	. $date->tomorrow

echo "Today minus 1 month: " 	. $date->modify($date->today,'-1m','m/d/Y')
echo "Today plus 5 days: " 		. $date->modify($date->today,'+5d','m/d/Y')
echo "Yesterday plus 6 weeks: " . $date->modify($date->yesterday,'+6w','m/d/Y')
</pre>
<h3>Output:</h3>
<p>(created on 4/19/2010)</p>
<p>Yesterday: 04/18/2010<br />
Today: 04/19/2010<br />
Tomorrow: 04/20/2010</p>
<p>Today minus 1 month: 03/19/2010<br />
Today plus 5 days: 04/24/2010<br />
Yesterday plus 6 weeks: 05/30/2010</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanbrotherton.com/blog/?feed=rss2&amp;p=106</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP classes: Using the UPS XML API</title>
		<link>http://www.ryanbrotherton.com/blog/?p=97</link>
		<comments>http://www.ryanbrotherton.com/blog/?p=97#comments</comments>
		<pubDate>Thu, 11 Mar 2010 19:04:25 +0000</pubDate>
		<dc:creator>Ryan Brotherton</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ups]]></category>

		<guid isPermaLink="false">http://www.ryanbrotherton.com/blog/?p=97</guid>
		<description><![CDATA[Recently a project called for us to integrate automated shipping quotes from the UPS XML API.  Fortunately I was able to find an open source library of classes that handle these transactions written by Sergey Shilko.  
I&#8217;ve created a mirror of all the classes Sergey wrote.
]]></description>
			<content:encoded><![CDATA[<p>Recently a project called for us to integrate automated shipping quotes from the UPS XML API.  Fortunately I was able to <a href="http://www.phpclasses.org/browse/package/4653.html">find an open source library</a> of classes that handle these transactions written by <a href="http://www.linkedin.com/in/sergeyshilko">Sergey Shilko</a>.  </p>
<p>I&#8217;ve created a <a href="/projects/ups_api/ups_api.rar">mirror of all the classes</a> Sergey wrote.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanbrotherton.com/blog/?feed=rss2&amp;p=97</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript: Credit card validation</title>
		<link>http://www.ryanbrotherton.com/blog/?p=75</link>
		<comments>http://www.ryanbrotherton.com/blog/?p=75#comments</comments>
		<pubDate>Mon, 17 Aug 2009 19:12:42 +0000</pubDate>
		<dc:creator>Ryan Brotherton</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.ryanbrotherton.com/blog/?p=75</guid>
		<description><![CDATA[Here&#8217;s a quick Javascript I wrote to validate (The 4 major American) credit card numbers, based on this post by Harrell W. Stiles.
Validate a credit card number with Javascript.
View the source on that page to grab the code, here are the two main functions as a quick reference:

function get_cc_type(n){
	var n2 = n.substr(0,2);
	var n4 = n.substr(0,4);
	var [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a quick Javascript I wrote to validate (The 4 major American) credit card numbers, based on <a href="http://www.beachnet.com/~hstiles/cardtype.html">this post by Harrell W. Stiles.</a></p>
<p><a href="http://www.ryanbrotherton.com/services/validate">Validate a credit card number with Javascript.</a></p>
<p>View the source on that page to grab the code, here are the two main functions as a quick reference:</p>
<pre class="brush: jscript;">
function get_cc_type(n){
	var n2 = n.substr(0,2);
	var n4 = n.substr(0,4);
	var n1 = n.substr(0,1);
	var l = n.length

	if(n4 == &quot;6011&quot; &amp;&amp; l == 16){
		return &quot;discover&quot;;
	} else if(n1 == &quot;4&quot; &amp;&amp; l &gt; 12 &amp;&amp; l &lt; 17){
		return &quot;visa&quot;;
	} else if(n2 == &quot;51&quot; || n2 == &quot;52&quot; || n2 == &quot;53&quot; || n2 == &quot;54&quot; || n2 == &quot;55&quot; &amp;&amp; l == 16){
		return &quot;mastercard&quot;;
	} else if(n2 == &quot;34&quot; || n2 == &quot;37&quot; &amp;&amp; l == 15){
		return &quot;american_express&quot;;
	} else {
		return &quot;unknown&quot;;
	}
}

function is_valid_cc_number(n){
	var toggle = 0;
	var total = 0;
	n = n.split(&quot;&quot;).reverse();
	for(i=0;i&lt;n.length;i++){
		if(toggle == 0){
			val = n[i];
			toggle = 1;
		} else {
			val = n[i] * 2;
			if(val &gt; 9){
				tempVal = val.toString().split(&quot;&quot;);
				val = parseInt(tempVal[0]) + parseInt(tempVal[1]);
			}
			toggle = 0;
		}
		total = parseInt(total) + parseInt(val);
	}

	if(total % 10 === 0){
		return true;
	} else {
		return false;
	}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanbrotherton.com/blog/?feed=rss2&amp;p=75</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPBB3: Delete spam users and posts</title>
		<link>http://www.ryanbrotherton.com/blog/?p=60</link>
		<comments>http://www.ryanbrotherton.com/blog/?p=60#comments</comments>
		<pubDate>Tue, 26 May 2009 14:54:03 +0000</pubDate>
		<dc:creator>Ryan Brotherton</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.ryanbrotherton.com/blog/?p=60</guid>
		<description><![CDATA[One particular forum that I administrate recently had a problem with an influx of spam users and posts.  We needed a solution but until I could come up with one we needed a quick way to get rid of the trash they were posting on our public forums, so I wrote this script.  
The script [...]]]></description>
			<content:encoded><![CDATA[<p>One particular forum that I administrate recently had a problem with an influx of spam users and posts.  We needed a solution but until I could come up with one we needed a quick way to get rid of the trash they were posting on our public forums, so I wrote this script.  </p>
<p>The script accepts a username as input, and it will remove every trace of that user from the PHPBB database.  It deletes their username, bans their username and IP Address, removes any posts and/or topics created by them, and corrects the &#8216;last post by&#8217; on each forum by removing them.</p>
<p>Feel free to use this script if you like, but <em>be aware it&#8217;s very dangerous as it&#8217;s directly editing the PHPBB3 database tables</em>.  The only configuration you need to supply is the database name, hostname, and auth credentials.  The script also assumes you used the default table prefix (phpbb_) when installing.</p>
<p><strong>Code:</strong> <a href="http://ryanbrotherton.pastebin.com/f2dd5c4a3">http://ryanbrotherton.pastebin.com/f2dd5c4a3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanbrotherton.com/blog/?feed=rss2&amp;p=60</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>JavaScript: Image Carousel</title>
		<link>http://www.ryanbrotherton.com/blog/?p=49</link>
		<comments>http://www.ryanbrotherton.com/blog/?p=49#comments</comments>
		<pubDate>Tue, 26 May 2009 14:24:08 +0000</pubDate>
		<dc:creator>Ryan Brotherton</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.ryanbrotherton.com/blog/?p=49</guid>
		<description><![CDATA[One day I found myself in need of an image carousel, but instead of grabbing a pre-made script I decided to write my own.  Why re-invent the wheel you ask?  Because I like to learn and I love JavaScript, I don&#8217;t get to write custom JavaScript nearly enough.  Also, to better understand how this particular [...]]]></description>
			<content:encoded><![CDATA[<p>One day I found myself in need of an image carousel, but instead of grabbing a pre-made script I decided to write my own.  Why re-invent the wheel you ask?  Because I like to learn and I love JavaScript, I don&#8217;t get to write custom JavaScript nearly enough.  Also, to better understand how this particular wheel works.  I want to re-write this eventually  to remove the dependency on Scriptaculous.</p>
<p>I shouldn&#8217;t have to say this but if you want to use it, you&#8217;re free to use it for any purpose.</p>
<p><strong>Dependencies: <span style="font-weight: normal;"><a href="http://script.aculo.us/" target="_blank">Scriptaculous</a> &#8211; For the fading effect.</span></strong></p>
<p><strong>Code: </strong><a href="http://ryanbrotherton.pastebin.com/f1cc2203c">http://ryanbrotherton.pastebin.com/f1cc2203c</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanbrotherton.com/blog/?feed=rss2&amp;p=49</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Google pushing Chrome to IE users</title>
		<link>http://www.ryanbrotherton.com/blog/?p=41</link>
		<comments>http://www.ryanbrotherton.com/blog/?p=41#comments</comments>
		<pubDate>Fri, 17 Apr 2009 11:53:27 +0000</pubDate>
		<dc:creator>Ryan Brotherton</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.ryanbrotherton.com/blog/?p=41</guid>
		<description><![CDATA[This morning I noticed this in the upper right hand corner of the screen on Google&#8217;s home page

It turns out they are only displaying it for users who come to the Google page using Internet Explorer.
IE6

IE7

Firefox

]]></description>
			<content:encoded><![CDATA[<p>This morning I noticed this in the upper right hand corner of the screen on Google&#8217;s home page</p>
<p><img src="/images/blog/chrome.jpg" alt="" /></p>
<p>It turns out they are only displaying it for users who come to the Google page using Internet Explorer.</p>
<p>IE6<br />
<img src="/images/blog/ie6.jpg" alt="" /></p>
<p>IE7<br />
<img src="/images/blog/ie7.jpg" alt="" /></p>
<p>Firefox<br />
<img src="/images/blog/ff.jpg" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanbrotherton.com/blog/?feed=rss2&amp;p=41</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Explorer 6 is AWESOME!</title>
		<link>http://www.ryanbrotherton.com/blog/?p=19</link>
		<comments>http://www.ryanbrotherton.com/blog/?p=19#comments</comments>
		<pubDate>Wed, 11 Feb 2009 15:18:41 +0000</pubDate>
		<dc:creator>Ryan Brotherton</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.ryanbrotherton.com/blog/?p=19</guid>
		<description><![CDATA[Standards
Daniel Miessler
The absolute worst browser when it comes to supporting the standards is Internet Explorer.
The Internet works for one simple reason &#8211; everything at its core has been built on agreements that bind it together. Whether a computer is connected from California or Sri Lanka, it’s going to speak the same language and obey the [...]]]></description>
			<content:encoded><![CDATA[<h3><strong>Standards</strong></h3>
<p><strong>Daniel Miessler</strong></p>
<blockquote><p>The absolute worst browser when it comes to supporting the standards is Internet Explorer.</p>
<p>The Internet works for one simple reason &#8211; everything at its core has been built on agreements that bind it together. Whether a computer is connected from California or Sri Lanka, it’s going to speak the same language and obey the same rules &#8211; the rules defined by standards. If this weren’t the case there would be no Internet at all.</p>
<p>The designers of Internet Explorer have purposely turned their back on the standards designed to benefit the Internet as a whole. They have done this for years, continue to do it today, and appear to have nothing but their own interests at heart.</p>
<p><em><a href="http://dmiessler.com/writing/dumpie/">http://dmiessler.com/writing/dumpie/</a></em></p></blockquote>
<p><strong>Free the Web</strong></p>
<blockquote><p>IE6 is the bane of every web developer&#8217;s life. Released in 2001, IE6 fails to even properly support the CSS 1.0 standard from 1996.</p>
<p>Internet Explorer 6 is holding back the future.</p>
<p>Supporting IE6 prevents us from using cool new features, standard with up to date browsers. This erodes user-experience for everyone. Additionally, the hacks and workarounds that web developers are forced to use degrades their code, and this limits progress in other areas. Above all it&#8217;s simply a waste of millions of hours of human potential.</p>
<p><em><a href="http://www.free-the-web.com/">http://www.free-the-web.com/</a></em></p></blockquote>
<h3>Security</h3>
<p><strong>Daniel Miessler</strong></p>
<blockquote><p>What makes other browsers better than IE at protecting vs. spyware and other attacks? Well, it’s simple really &#8211; most other browsers don’t make it so easy to install malicious software on your system without you knowing about it. IE makes it relatively trivial through two features called ActiveX and Active Scripting. These technologies were designed specifically for the purpose of giving Web sites more control over a user’s computer. Unfortunately, as we have seen with exploit after exploit &#8211; that’s not always a good thing.</p>
<p><em><a href="http://dmiessler.com/writing/dumpie/">http://dmiessler.com/writing/dumpie/</a></em></p></blockquote>
<p><strong>Bruce Schneier &#8211; Security Expert</strong></p>
<blockquote><p>This study is from August, but I missed it. The researchers tracked three browsers (MSIE, Firefox, Opera) in 2004 and counted which days they were &#8220;known unsafe.&#8221; Their definition of &#8220;known unsafe&#8221;: a remotely exploitable security vulnerability had been publicly announced and no patch was yet available.</p>
<p>MSIE was 98% unsafe. There were only 7 days in 2004 without an unpatched publicly disclosed security hole.</p>
<p>Firefox was 15% unsafe. There were 56 days with an unpatched publicly disclosed security hole. 30 of those days were a Mac hole that only affected Mac users. Windows Firefox was 7% unsafe.</p>
<p><em><a href="http://www.schneier.com/blog/archives/2005/12/internet_explor.html">http://www.schneier.com/blog/archives/2005/12/internet_explor.html</a></em></p></blockquote>
<p><strong>PC World</strong></p>
<p>In 2006, citing its lack of security, PC World magazine named Internet Explorer 6 number 8 on their list of the &#8220;25 worst tech products of all time&#8221;.</p>
<p><em> </em><em><a href="http://www.pcworld.com/article/125772-3/the_25_worst_tech_products_of_all_time.html">http://www.pcworld.com/article/125772-3/the_25_worst_tech_products_of_all_time.html</a></em></p>
<p><strong>Current</strong></p>
<p>Just recently, A major flaw in Microsoft’s Internet Explorer that allows hackers to gain the password details of the user was revealed.</p>
<p>This is not a rumor, it was confirmed by Microsoft who in fact announced the discovery themselves admitting a “vulnerability in Internet Explorer” that “could allow remote code execution.” Not Good.</p>
<p><a href="http://thenextweb.com/2008/12/16/dump-internet-explorer-at-least-for-now/"><em>http://thenextweb.com/2008/12/16/dump-internet-explorer-at-least-for-now/</em></a></p>
<h3>Market Share</h3>
<p>These stats are accurate to anyones guess, bost most claim google as a source.  This is an averaging of the best sources I could find.  (w3c puts firefox at 44%, I didn&#8217;t use them because that seemed way out of line with all other sources)</p>
<ul>
<li>IE7 &#8211; 47.32%</li>
<li>Firefox: 21%</li>
<li>IE6 &#8211; 19.21%</li>
<li>Safari &#8211; 8%</li>
<li>Chrome/Opera &#8211; 2%</li>
</ul>
<ul>
<li><a href="http://marketshare.hitslink.com/report.aspx?qprid=1"><em>http://marketshare.hitslink.com/report.aspx?qprid=1</em></a></li>
<li><a href="http://en.wikipedia.org/wiki/Internet_Explorer_6#Market_Share"><em>http://en.wikipedia.org/wiki/Internet_Explorer_6#Market_Share</em></a></li>
</ul>
<h3>Conclusion</h3>
<p>It is becoming more and more clear that, as some of our quoted authors have suggested, IE6 is severely impeding the progress of the web as a whole.  You could say this of any inferior or outdated browser but IE6 is the only one still widely used, and the cause of its continued widespread use is uneducated users.  They remain uneducated because they are unaware of the inherent security risks in IE6 due to a tight integration with the Windows operating system and exploitable access to ActiveX controls.</p>
<p>IE6 is not only an <em>incredible</em><strong><em> </em></strong>time sink and headache for developers, it is a danger to consumers as well.</p>
<p><a href="http://www.mozilla.com/firefox?from=sfx&amp;uid=0&amp;t=306"><img src="http://sfx-images.mozilla.org/affiliates/Buttons/firefox3/110x32_get_ffx.png" border="0" alt="Spreadfirefox Affiliate Button" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanbrotherton.com/blog/?feed=rss2&amp;p=19</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>imgsize.net opens as beta.</title>
		<link>http://www.ryanbrotherton.com/blog/?p=18</link>
		<comments>http://www.ryanbrotherton.com/blog/?p=18#comments</comments>
		<pubDate>Tue, 20 Jan 2009 16:22:29 +0000</pubDate>
		<dc:creator>Ryan Brotherton</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.ryanbrotherton.com/blog/?p=18</guid>
		<description><![CDATA[http://www.imgsize.net
I got bored last weekend and started writing this.  I opened the doors as beta so people can easily use it to resize simple images if they&#8217;re in a pinch or if they don&#8217;t have an image manipulation tool readily available.
It&#8217;s also great for people who aren&#8217;t really tech savvy.
The primary goals for the project [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.imgsize.net" target="_blank">http://www.imgsize.net</a></p>
<p>I got bored last weekend and started writing this.  I opened the doors as beta so people can easily use it to resize simple images if they&#8217;re in a pinch or if they don&#8217;t have an image manipulation tool readily available.</p>
<p>It&#8217;s also great for people who aren&#8217;t really tech savvy.</p>
<p>The primary goals for the project were ease of use, simplicity, and an intuitive interface with as few steps as possible to get a quickly resized image.</p>
<p><strong>Planned Features/Fixes</strong></p>
<ul>
<li><del>Manual Input of dimensions (w/ constrained proportions)</del></li>
<li><del>Allow slider to increment 1% instead of only 2%</del></li>
<li>Transparency Support?</li>
<li>Web Service of some sort?</li>
</ul>
<div>Using the service is as easy as uploading an image, adjusting a slider to change the size, and clicking save:</div>
<div><a href="http://www.ryanbrotherton.com/blog/images/final_large.jpg" target="_blank"><img src="http://www.ryanbrotherton.com/blog/images/final_small.jpg" border="0" alt="" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanbrotherton.com/blog/?feed=rss2&amp;p=18</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 Review</title>
		<link>http://www.ryanbrotherton.com/blog/?p=16</link>
		<comments>http://www.ryanbrotherton.com/blog/?p=16#comments</comments>
		<pubDate>Sat, 03 Jan 2009 21:30:24 +0000</pubDate>
		<dc:creator>Ryan Brotherton</dc:creator>
				<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://www.ryanbrotherton.com/blog/?p=16</guid>
		<description><![CDATA[Quick Summary:

I obtained the Windows 7 beta (build 7000)
I installed it on my desktop
I used it for one week, for everything from web browsing to programming and development work
It is awesome

Long Review:
Where to begin&#8230;I&#8217;m going to try and keep this from sounding fanboy-ish.  People who know me know I am no proponent of Microsoft goods [...]]]></description>
			<content:encoded><![CDATA[<h2><strong>Quick Summary:</strong></h2>
<ul>
<li>I obtained the Windows 7 beta (build 7000)</li>
<li>I installed it on my desktop</li>
<li>I used it for one week, for everything from web browsing to programming and development work</li>
<li>It is awesome</li>
</ul>
<h2><strong>Long Review:</strong></h2>
<p>Where to begin&#8230;I&#8217;m going to try and keep this from sounding fanboy-ish.  People who know me know I am no proponent of Microsoft goods anyways, I&#8217;m just really impressed with this OS.</p>
<p>Disclaimer: I hate vista, I haven&#8217;t used it much so if I&#8217;m raving about a feature that was already in vista, forgive me.  I hate it for a multitude of reasons, but we won&#8217;t discuss those here.</p>
<p>My desktop specs are as follows:</p>
<ul>
<li>AMD Athlon 64 X2 Dual Core 6000+ 3.01 GHz</li>
<li>Started out at 2 gigs of DDR2 800 ram, ended up with 6 gigs.</li>
<li>Geforce 8600GTS video &#8211; Two 22&#8243; widescreen monitors</li>
<li>250gb hdd</li>
</ul>
<p>I&#8217;m writing this review in the format of a rough outline, just highlighting features I&#8217;m really impressed with, so here goes.</p>
<p><strong>Windows 7 Installation</strong></p>
<p>Speed &#8211; Holy crap, this thing formatted my drive and windows was installed in probably 20 minutes.  After installation I had to install <strong>NO DRIVERS</strong> (not even video), it already had them all or found them all without asking me anything.</p>
<p>Ease &#8211; The interface for formatting/installing is beautiful and simple.  Very minimalistic and easy to use, it&#8217;s a snap to set up.</p>
<p>It took me less than 1 hour to format, install windows, and reinstall all of my necessary software.  Including Firefox, MS Office, Pidgin, Winamp, Code Editors and FTP clients, and many more.</p>
<p><strong>Windows 7 Speed</strong></p>
<p>Prior to installing Win7 on my desktop at home, I installed it on a spare nearby.  An old Dell with a 1.8ghz intel cpu and 512mb of ram.  Even with these limited specs Win7 ran incredibly smooth without a single performance hitch anywhere.</p>
<p>It was no different on my desktop, perfectly smooth everywhere.</p>
<p>It feels so lightweight and fast, the complete opposite of Vista&#8217;s clunky feel.  Hopefully this doesn&#8217;t change too much between now and the retail release build.</p>
<p>Heres a quick performance comparison of Win7 vs Vista vs XP: <a href="http://blogs.zdnet.com/hardware/?p=3236&amp;page=2" target="_blank">http://blogs.zdnet.com/hardware/?p=3236&amp;page=2</a></p>
<p><strong>Windows 7 Taskbar</strong></p>
<p>I&#8217;m not a huge fan of the new icon layout, but with a minor tweak to the taskbar preferences it is perfect.  Just enable the &#8220;Use small icons&#8221; option and set the &#8220;Taskbar Buttons&#8221; option to &#8220;Combine when taskbar is full&#8221; instead of &#8220;always combine&#8221;.  this will not only make the taskbar vertically smaller but will display windows like WinXP/Vista did.</p>
<p>Apps that are &#8220;pinned&#8221; to the taskbar are very cool, as the &#8220;pinned&#8221; icon expands to create the window when you open them.</p>
<p>The new system tray is excellent at conserving space, extra system tray icons are hidden and appear in a pop up when you click the expand arrow.  This is easily configurable, and easy to revert to xp/vista style if you prefer.</p>
<p>Maximized apps overlap the taskbar now, that&#8217;s going to take some getting used to.</p>
<p><strong>Windows 7 Search</strong></p>
<p>The Search/Run bar on the start menu now fills the entire start menu with search results, instead of just the left side, making it much easier to read.</p>
<p>The search function in windows explorer is amazing, and now searches as you type.  No more stupid animated figure you have to wait on or disable.  No more seraching, then having to click something to search again.  Just type.</p>
<p><strong>Windows 7 Codecs</strong></p>
<p>Man was I surprised when I went to download VLC media player.  While it was downloading I fired up a video just to see what it would look like and to my amazement it looked and sounded perfect.  Windows 7 comes with codecs already installed, it appears to be the DivX codec pack.</p>
<p><strong>Windows 7 Style</strong></p>
<p>This OS, thanks to the Aero interface, is beautiful.  I&#8217;ll have some screen shots up soon.  Everything is amazingly simple to change or modify, and the default themes even support easy customization.</p>
<p><strong>Windows 7 Functionality</strong></p>
<p>The rightmost 10 pixels or so of the taskbar form a small raised button that when clicked, toggles the show desktop function of windows.  This is coming in VERY handy.  It will also allow you to &#8220;preview&#8221; the desktop if you hover over it with your mouse.  The &#8220;preview&#8221; function turns every window you have open completely transparent except for that window&#8217;s outline.</p>
<p>A type of &#8220;locator&#8221; feature i installed in the taskbar.  If you mouse over a window on the taskbar, and then mouse over the live preview generated by that, it will turn every window open to transparent, except for the one you are hovering over.</p>
<p>The start menu has some new additions as well, like programs have an expandable menu on hover, that displays recently opened documents with the program.</p>
<p><strong>Windows 7 Programs</strong></p>
<p>It comes with a piece of software called the &#8220;Snipping tools&#8221; making the process of taking a screen shot much, much easier.  I&#8217;ve been told this is similar if not nearly identical to a piece of software that comes with Mac OS.</p>
<p>Paint&#8217;s interface got a face lift, and now resembles the interface used by Microsoft Office.</p>
<p>Calculator got a neat little interface tweak.</p>
<p>Resource Monitor &#8211; Win7 has an incredible resource monitor for everything from cpu/ram/disk/network monitoring down to the latency of specific processes.</p>
<p><strong>Windows 7 Security and UAC</strong></p>
<p>I disabled UAC as soon as I booted, but overall Win 7 security seems to be much less obtrusive and annoying.  It&#8217;s still ridiculous that it asks you if you want to execute something you&#8217;d obviously tried to run.</p>
<p><strong>Windows 7 Stability</strong></p>
<p>The OS has an uptime of over a week thus far, it appears to be a very stable beta build.</p>
<p>I&#8217;ve only had a couple of programs that would not run correctly.  This issue should be resolved when Win7 is more mainstream and people start writing programs with Win7 support/driver support.</p>
<h2>Conclusion</h2>
<p>In conclusion, it seems that the primary goal of the Windows 7 development team was to take a crack at the &#8220;It just works&#8221; mantra that Mac users always seem to brag about, and in my opinion they&#8217;ve succeeded.  I can&#8217;t wait for a retail build, as this OS is one that will be worth the money.</p>
<p>I&#8217;m predicting that Windows 7 marketshare is going to vastly overshadow Vista, and hopefully replace it completely.  Windows 7 is what Vista should&#8217;ve been.</p>
<p><a href="http://s5.tinypic.com/vxotih.jpg" target="_blank"><img src="http://www.ryanbrotherton.com/blog/images/win7.jpg" border="0" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanbrotherton.com/blog/?feed=rss2&amp;p=16</wfw:commentRss>
		<slash:comments>755</slash:comments>
		</item>
		<item>
		<title>10 digit decimal IP addresses &#8211; How to</title>
		<link>http://www.ryanbrotherton.com/blog/?p=15</link>
		<comments>http://www.ryanbrotherton.com/blog/?p=15#comments</comments>
		<pubDate>Thu, 25 Dec 2008 00:46:26 +0000</pubDate>
		<dc:creator>Ryan Brotherton</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.ryanbrotherton.com/blog/?p=15</guid>
		<description><![CDATA[There is a little known quirk in the Internet Explorer and Firefox browsers.  Here&#8217;s an example link to Google: http://1249710995.  If clicking it doesn&#8217;t work for you, copy and paste it into IE6 or 7 or FF3. (I haven&#8217;t tested any other browsers except for Opera and Chrome, neither of them work.)
I wrote a quick [...]]]></description>
			<content:encoded><![CDATA[<p>There is a little known quirk in the Internet Explorer and Firefox browsers.  Here&#8217;s an example link to Google: <a href="http://1249710995" target="_blank">http://1249710995</a>.  If clicking it doesn&#8217;t work for you, copy and paste it into IE6 or 7 or FF3. (I haven&#8217;t tested any other browsers except for Opera and Chrome, neither of them work.)</p>
<p>I wrote a quick converter in PHP, you can <a href="http://www.ryanbrotherton.com/services/ip/">play with it here</a> and download the source code on the same page.</p>
<p><strong>How to:</strong> Convert each octet of an IPv4 address to hex and concatenate the hex values into one giant number. Convert the number back to decimal and you have the 10 digit number.</p>
<p>Quick reference conversion functions:</p>
<p><em>IP Address to 10 digit:</em></p>
<pre class="brush: php;">
	function toTen($i){
		$a = explode(&quot;.&quot;,$i);
		$g1 = $a[0];
		$g2 = $a[1];
		$g3 = $a[2];
		$g4 = $a[3];

		$g1 *= 16777216;
		$g2 *= 65536;
		$g3 *= 256;

		return $g1 + $g2 + $g3 + $g4;
	}
</pre>
<p><em>10 digit back to IP:</em></p>
<pre class="brush: php;">
	function toIP($i){
		$i = dechex($i+0);
		$g1 = hexdec(substr($i,0,2));
		$g2 = hexdec(substr($i,2,2));
		$g3 = hexdec(substr($i,4,2));
		$g4 = hexdec(substr($i,6,2));

		return $g1.&quot;.&quot;.$g2.&quot;.&quot;.$g3.&quot;.&quot;.$g4;
	}
</pre>
<p><strong>Why: </strong>Anonymity.  I can&#8217;t think of a use for this that isn&#8217;t potentially malicious.  It could be used by malware to trick users into going to an unfriendly url, and bypass blacklisted domain names in spam filters.</p>
<p>I&#8217;m sure the feature is put there for a reason, I&#8217;m just not sure what it is.  Got any ideas?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanbrotherton.com/blog/?feed=rss2&amp;p=15</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

