<?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>Winn &#187; Google</title>
	<atom:link href="http://winn.ws/archives/tag/google/feed" rel="self" type="application/rss+xml" />
	<link>http://winn.ws</link>
	<description>Standards-based design &#38; development</description>
	<lastBuildDate>Wed, 01 Feb 2012 05:30:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Google’s CDN links</title>
		<link>http://winn.ws/archives/762</link>
		<comments>http://winn.ws/archives/762#comments</comments>
		<pubDate>Tue, 30 Nov 2010 02:42:38 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://winn.ws/?p=762</guid>
		<description><![CDATA[Most of the websites I see, still host their JavaScript Library on their own server (Most, not all). Actually never have I ever seen any Web Development Blog hosting the library on their own server. They always use Google CDN, which is great because it has a number of advantages.]]></description>
			<content:encoded><![CDATA[<p>Most of the websites I see, still host their JavaScript Library on their own server (Most, not all). Actually never have I ever seen any Web Development Blog hosting the library on their own server. They always use Google CDN, which is great because it has a number of advantages:</p>
<p><span id="more-762"></span></p>
<ul>
<li>Google’s Content Distribution Network has libraries on their various servers across the world and if you use their CDN link, when a user’s browser resolves the URL, their browser will automatically download the file from the closest available server, which will be a much faster download than if you force a user to download the file from your host server in whichever country your website is hosted.</li>
<li>Google’s Content Distribution Network will save you a great deal of bandwidth if you have large traffic on your website and a limited bandwidth with your host.</li>
<li>There is a good chance that the Google hosted version of that library is already cached on the user’s browser cache, as lot of big websites and portals use Google’s CDN links including Google itself and Google’s servers instruct browsers to cache the file for one year if there are quite a few requests for the same hosted file.</li>
</ul>
<h3>How to use Google CDN</h3>
<p>Google’s CDN provides most of the popular, open source JavaScript Libraries with two ways of using each of them via the direct path in the script tags and via The Google AJAX Libraries API.</p>
<p>To use the Google AJAX Libraries API we need to include the Google “jsapi” script:</p>

<div class="wp_syntax"><div class="code"><pre class="jacascript" style="font-family:monospace;">&lt;script src=&quot;http://www.google.com/jsapi&quot;&gt;&lt;/script&gt;</pre></div></div>

<p>The Google AJAX Libraries API provides a simple and powerful google.load() method which accepts two arguments, the first argument to google.load is the name of a library. The second argument is the version of the library:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script<span style="color: #339933;">&gt;</span>
google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;jquery&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;1.3.2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;jqueryui&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;1.7.1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    google<span style="color: #339933;">.</span>setOnLoadCallback<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// use this instead of:</span>
        <span style="color: #666666; font-style: italic;">/*
            $(document).ready(function(){  });
        */</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">&lt;/script&gt;</span></pre></div></div>

<p>But to use this API, there is a different approach for the ready functions of all the libraries. For example, in the above code, we use google.setOnLoadCallback(function(){ }); instead of jQuery’s ready function. In-fact we use google.setOnLoadCallback(function(){ }); instead of all different library’s ready functions. This can be seen as a drawback or a good feature; I see it as a good feature as it gives me a single ready function for all libraries.</p>
<p>The second method to use Google’s CDN links is by the direct paths of the libraries in the script tags</p>
<p>Below is a list of all the JavaScript Libraries Google CDN provides with the direct paths and google.load implementation:</p>
<h4>jQuery</h4>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">name<span style="color: #339933;">:</span> jquery
versions<span style="color: #339933;">:</span> 1<span style="color: #339933;">.</span>2<span style="color: #339933;">.</span>3<span style="color: #339933;">,</span> 1<span style="color: #339933;">.</span>2<span style="color: #339933;">.</span>6<span style="color: #339933;">,</span> 1<span style="color: #339933;">.</span>3<span style="color: #339933;">.</span>0<span style="color: #339933;">,</span> 1<span style="color: #339933;">.</span>3<span style="color: #339933;">.</span>1<span style="color: #339933;">,</span> 1<span style="color: #339933;">.</span>3<span style="color: #339933;">.</span>2
load request<span style="color: #339933;">:</span> google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;jquery&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;1.3.2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
extras<span style="color: #339933;">:</span> uncompressed<span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> e<span style="color: #339933;">.</span>g<span style="color: #339933;">.,</span> google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;jquery&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;1.3.2&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>uncompressed<span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
path<span style="color: #339933;">:</span> http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js</span>
path<span style="color: #009900;">&#40;</span>u<span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js</span></pre></div></div>

<h4>jQuery UI</h4>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">name<span style="color: #339933;">:</span> jqueryui
versions<span style="color: #339933;">:</span> 1<span style="color: #339933;">.</span>5<span style="color: #339933;">.</span>2<span style="color: #339933;">,</span> 1<span style="color: #339933;">.</span>5<span style="color: #339933;">.</span>3<span style="color: #339933;">,</span> <span style="color:#800080;">1.6</span><span style="color: #339933;">,</span> 1<span style="color: #339933;">.</span>7<span style="color: #339933;">.</span>0<span style="color: #339933;">,</span> 1<span style="color: #339933;">.</span>7<span style="color: #339933;">.</span>1
load request<span style="color: #339933;">:</span> google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;jqueryui&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;1.7.1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
extras<span style="color: #339933;">:</span> uncompressed<span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> e<span style="color: #339933;">.</span>g<span style="color: #339933;">.,</span> google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;jqueryui&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;1.7.1&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>uncompressed<span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
path<span style="color: #339933;">:</span> http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js</span>
path<span style="color: #009900;">&#40;</span>u<span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.js</span>
note<span style="color: #339933;">:</span> This library depends on jquery<span style="color: #339933;">.</span> Before loading this module<span style="color: #339933;">,</span> you must load jquery<span style="color: #339933;">.</span> e<span style="color: #339933;">.</span>g<span style="color: #339933;">.:</span>
        google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;jquery&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;1.3.2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;jqueryui&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;1.7.1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h4>Prototype</h4>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">name<span style="color: #339933;">:</span> prototype
versions<span style="color: #339933;">:</span> 1<span style="color: #339933;">.</span>6<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>2<span style="color: #339933;">,</span> 1<span style="color: #339933;">.</span>6<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>3
load request<span style="color: #339933;">:</span> google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;prototype&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;1.6.0.3&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
path<span style="color: #339933;">:</span> http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js</span></pre></div></div>

<h4>script.aculo.us</h4>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">name<span style="color: #339933;">:</span> scriptaculous
versions<span style="color: #339933;">:</span> 1<span style="color: #339933;">.</span>8<span style="color: #339933;">.</span>1<span style="color: #339933;">,</span> 1<span style="color: #339933;">.</span>8<span style="color: #339933;">.</span>2
load request<span style="color: #339933;">:</span> google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;scriptaculous&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;1.8.2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
path<span style="color: #339933;">:</span> http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//ajax.googleapis.com/ajax/libs/scriptaculous/1.8.2/scriptaculous.js</span>
note<span style="color: #339933;">:</span> This library depends on Prototype<span style="color: #339933;">.</span> Before loading this module<span style="color: #339933;">,</span> you must load Prototype<span style="color: #339933;">.</span> e<span style="color: #339933;">.</span>g<span style="color: #339933;">.:</span>
        google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;prototype&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;1.6&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;scriptaculous&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;1.8.2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h4>SWFObject</h4>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">name<span style="color: #339933;">:</span> swfobject
versions<span style="color: #339933;">:</span> <span style="color:#800080;">2.1</span>
load request<span style="color: #339933;">:</span> google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;swfobject&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;2.1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
extras<span style="color: #339933;">:</span> uncompressed<span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> e<span style="color: #339933;">.</span>g<span style="color: #339933;">.,</span> google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;swfobject&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;2.1&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>uncompressed<span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
path<span style="color: #339933;">:</span> http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js</span>
path<span style="color: #009900;">&#40;</span>u<span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject_src.js</span></pre></div></div>

<h4>Yahoo! User Interface Library (YUI)</h4>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">name<span style="color: #339933;">:</span> yui
versions<span style="color: #339933;">:</span> 2<span style="color: #339933;">.</span>6<span style="color: #339933;">.</span>0<span style="color: #339933;">,</span> 2<span style="color: #339933;">.</span>7<span style="color: #339933;">.</span>0
load request<span style="color: #339933;">:</span> load request<span style="color: #339933;">:</span> google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;yui&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;2.7.0&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
extras<span style="color: #339933;">:</span> uncompressed<span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> e<span style="color: #339933;">.</span>g<span style="color: #339933;">.,</span> google<span style="color: #339933;">.</span>load<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;yui&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;2.7.0&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>uncompressed<span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
path<span style="color: #339933;">:</span> http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//ajax.googleapis.com/ajax/libs/yui/2.7.0/build/yuiloader/yuiloader-min.js</span>
path<span style="color: #009900;">&#40;</span>u<span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//ajax.googleapis.com/ajax/libs/yui/2.7.0/build/yuiloader/yuiloader.js</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/762/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wave goodbye</title>
		<link>http://winn.ws/archives/473</link>
		<comments>http://winn.ws/archives/473#comments</comments>
		<pubDate>Wed, 04 Aug 2010 21:34:34 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Design & Layout]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[The Web]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Wave]]></category>

		<guid isPermaLink="false">http://winn.ws/?p=473</guid>
		<description><![CDATA[From the official <a href="http://googleblog.blogspot.com/2010/08/update-on-google-wave.html">Google blog</a>. They announced today that they will no longer be supporting Google Wave by the end of the year.]]></description>
			<content:encoded><![CDATA[<p>From the official <a href="http://googleblog.blogspot.com/2010/08/update-on-google-wave.html">Google blog</a>. They announced today that they will no longer be supporting Google Wave by the end of the year.</p>
<blockquote><p>But despite these wins, and numerous loyal fans, Wave has not seen the user adoption we would have liked. We don’t plan to continue developing Wave as a standalone product, but we will maintain the site at least through the end of the year and extend the technology for use in other Google projects. The central parts of the code, as well as the protocols that have driven many of Wave’s innovations, like drag-and-drop and character-by-character live typing, are already available as open source, so customers and partners can continue the innovation we began. In addition, we will work on tools so that users can easily “liberate” their content from Wave.</p></blockquote>
<p><small><a href="http://googleblog.blogspot.com/2010/08/update-on-google-wave.html">From the official Google blog.</a></small></p>
<p>I for one am a huge Google Wave fan and hate to see this go. Why Google? Why!?</p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/473/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Welcome to the future</title>
		<link>http://winn.ws/archives/250</link>
		<comments>http://winn.ws/archives/250#comments</comments>
		<pubDate>Wed, 23 Sep 2009 20:35:37 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Design & Layout]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=250</guid>
		<description><![CDATA[A thorn in the side of many web developers is Internet Explorer 6. It&#8217;s an old browser that has many annoyances that cause those creating websites to have to add additional code just to have things render as they should. Google, being a company that develops a web browser, has taken it upon themselves to [...]]]></description>
			<content:encoded><![CDATA[<p>A thorn in the side of many web developers is Internet Explorer 6. It&#8217;s an old browser that has many annoyances that cause those creating websites to have to add additional code just to have things render as they should. Google, being a company that develops a web browser, has taken it upon themselves to solve this problem somewhat. It has just released an early version of a project called Google Chrome Frame, which, when used, will cause Internet Explorers 6 through 8 to use Chrome&#8217;s rendering engine, not their default one. This allows stubborn users (or those in a workplace environment) to continue using the browser they want to, and no longer aggravate web developers.</p>
<p><a href="http://blog.chromium.org/2009/09/introducing-google-chrome-frame.html">Read more about Google&#8217;s Chrome Frame</a></p>
<p>Thanks Google!</p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/250/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mail Goggles from Google!</title>
		<link>http://winn.ws/archives/168</link>
		<comments>http://winn.ws/archives/168#comments</comments>
		<pubDate>Tue, 07 Oct 2008 15:16:07 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Platforms]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=168</guid>
		<description><![CDATA[No More drunk emails! When you enable Mail Goggles, it will check that you&#8217;re really sure you want to send that late night Friday email. And what better way to check than by making you solve a few simple math problems after you click send to verify you&#8217;re in the right state of mind? Google [...]]]></description>
			<content:encoded><![CDATA[<p>No More drunk emails!</p>
<blockquote><p>
When you enable Mail Goggles, it will check that you&#8217;re really sure you want to send that late night Friday email. And what better way to check than by making you solve a few simple math problems after you click send to verify you&#8217;re in the right state of mind?
</p></blockquote>
<p><strong><a href="http://gmailblog.blogspot.com/2008/10/new-in-labs-stop-sending-mail-you-later.html">Google Blog</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/168/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>View some Stats</title>
		<link>http://winn.ws/archives/147</link>
		<comments>http://winn.ws/archives/147#comments</comments>
		<pubDate>Fri, 16 May 2008 16:29:55 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[PHP GuestBook]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=147</guid>
		<description><![CDATA[The latest build of my guestbook v2.4.2 includes built in stats! This will show you the latest activity that has been taking place on your guestbook! Download the latest via SVN or visit the project page: Winn Guestbook Project]]></description>
			<content:encoded><![CDATA[<p>The latest build of my guestbook v2.4.2 includes built in stats! This will show you the latest activity that has been taking place on your guestbook!</p>
<p><a href="http://d45jz936mo8n8.cloudfront.net/wp-content/uploads/2008/05/gb_2-4-2_screen_stats.jpg" rel="lightbox"><img src="http://d45jz936mo8n8.cloudfront.net/wp-content/uploads/2008/05/gb_2-4-2_screen_stats_small.jpg" alt="Stats" /></a></p>
<p>Download the latest via SVN or visit the project page: <a href="http://code.google.com/p/winn-guestbook/">Winn Guestbook Project</a></p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/147/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Does Google Do with Its Old Servers?</title>
		<link>http://winn.ws/archives/142</link>
		<comments>http://winn.ws/archives/142#comments</comments>
		<pubDate>Thu, 17 Apr 2008 15:03:46 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=142</guid>
		<description><![CDATA[Google is the fastest growing tech company in the world. Their blazing fast search engine and other services run on thousands of servers. But like all servers, Google&#8217;s servers get old and must be replaced. Google obviously just can&#8217;t give these servers to any old Joe. After all, Google is known for its secrecy and [...]]]></description>
			<content:encoded><![CDATA[<p>Google is the fastest growing tech company in the world. Their blazing fast search engine and other services run on thousands of servers. But like all servers, Google&#8217;s servers get old and must be replaced. Google obviously just can&#8217;t give these servers to any old Joe. After all, Google is known for its secrecy and protectiveness. Most importantly, they don&#8217;t want any data from their servers ending up in the wrong hands. Many of Google&#8217;s servers must contain personal information about employees, Adwords and Adsense members, and probably code for their various services. What exactly does Google do with these servers?</p>
<p><strong>1. Put Them to Use</strong><br />
Just because a server is old doesn&#8217;t mean it isn&#8217;t useful. A server that was too old to be used on their main infrastructure could be used for various other tasks, such as testing projects under development or running various applications needed for the use of employees and internal resources. I think this is a very plausible situation because servers are so expensive and costly to move. Not all applications require powerful servers and I wouldn&#8217;t be surprised to hear that by the time Google was done with a server, it was still fairly new.</p>
<p><strong>2. Grave Scenario</strong><br />
Considering there is a Google search engine for almost every country in the world and in every time zone, someone is always searching on Google. My guess is their servers never, ever get a break. With the amount of servers Google needs, they must have their servers setup so that each one is always working at full capacity and server power is never wasted. For example, if a server wasn&#8217;t handling massive United States search traffic during the day, it could be processing data for search engine rankings, updating databases, or maybe even handling searches from people in other countries at night. </p>
<p>With this kind of abuse, I wouldn&#8217;t be surprised if someone told me Google&#8217;s servers had a short life span. In most environments, servers almost always get a break. For instance, a server in a corporate environment would be busy all day but after everyone left for the day, quiet all night. Without this kind of break, a server&#8217;s life span is more than likely decreased greatly. </p>
<p>3. Give Back to the Tech World<br />
Who is to say Google is mean and greedy with its processing power? From this blog written in 2004 we can find out that Google is donating some of its old servers to Wikipedia. This page at Wikimedia, however, suggests the opposite, when it talks about Google hosting Wikimedia and says:</p>
<blockquote><p><em>&#8220;Google is eager to help us, and Wikimedia are eager to accept their help, but the Board wants to be good stewards of donor money, and this requires them to move carefully.&#8221;</em></p>
</blockquote>
<p>Clearly, this means there is money involved here, not free servers! So, who really knows what Google does with their old servers? Maybe it&#8217;s just one of life&#8217;s little secrets we&#8217;ll never know&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/142/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Database Caching 1/44 queries in 0.079 seconds using disk: basic
Object Caching 450/554 objects using disk: basic
Content Delivery Network via Amazon Web Services: CloudFront: d45jz936mo8n8.cloudfront.net

Served from: winn.ws @ 2012-02-05 05:43:20 -->
