<?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; web standards</title>
	<atom:link href="http://winn.ws/archives/category/web-standards/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>Stop SOPA</title>
		<link>http://winn.ws/archives/1015</link>
		<comments>http://winn.ws/archives/1015#comments</comments>
		<pubDate>Sat, 14 Jan 2012 19:04:22 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[The Web]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://winn.ws/?p=1015</guid>
		<description><![CDATA[Congress is about to pass internet censorship, even though the vast majority of Americans are opposed. We need to kill the bill - PIPA in the Senate and SOPA in the House - to protect our rights to free speech, privacy, and prosperity.]]></description>
			<content:encoded><![CDATA[<h3>Stop Censorship</h3>
<p>Congress is about to pass internet censorship, even though the vast majority of Americans are opposed. We need to kill the bill &#8211; PIPA in the Senate and SOPA in the House &#8211; to protect our rights to free speech, privacy, and prosperity.<br />
<span id="more-1015"></span></p>
<h3>Watch and then share this video</h3>
<p><iframe src="http://player.vimeo.com/video/31100268?title=0&#038;byline=0&#038;portrait=0" width="590" height="360" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe></p>
<h3>Learn about the protests against SOPA</h3>
<ul id="article-list">
<li><a href="/infographic2.html">Infographic: the American Censorship Day protests, in numbers and screenshots</a></li>
<li><a href="/supporters.html">Full list of Participating Sites</a></li>
</ul>
<h3>Read these articles</h3>
<ul id="article-list">
<li><a href="http://arstechnica.com/tech-policy/news/2011/10/house-takes-senates-bad-internet-censorship-bill-makes-it-worse.ars">House takes Senate&#8217;s bad Internet censorship bill, tries making it worse</a></li>
<li><a href="http://www.feld.com/wp/archives/2011/10/protect-the-internet.html">Protect The Internet</a></li>
<li><a href="https://www.eff.org/deeplinks/2011/10/sopa-hollywood-finally-gets-chance-break-internet">SOPA: Hollywood Finally Gets A Chance to Break the Internet</a></li>
<li><a href="http://www.opencongress.org/bill/112-h3261/show">SOPA on OpenCongress</a></li>
<li><a href="http://www.opencongress.org/bill/112-s968/show">PIPA on OpenCongress</a></li>
</ul>
<h3>Join the fight</h3>
<h2><a href="http://americancensorship.org/">Stop American Censorship</a></h2>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/1015/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Font face in CSS</title>
		<link>http://winn.ws/archives/931</link>
		<comments>http://winn.ws/archives/931#comments</comments>
		<pubDate>Fri, 17 Jun 2011 13:08:42 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Design & Layout]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://winn.ws/?p=931</guid>
		<description><![CDATA[Use @font-face in your CSS Computers have been capable of displaying multiple fonts for several decades now, so it might seem odd that fonts are only just now becoming standardised on the web. However, disagreement on file formats along with complex font licensing issues have turned this into quite a difficult challenge to overcome. Fortunately, [...]]]></description>
			<content:encoded><![CDATA[<h3>Use @font-face in your CSS</h3>
<p>Computers have been capable of displaying multiple fonts for several decades now, so it might seem odd that fonts are only just now becoming standardised on the web. However, disagreement on file formats along with complex font licensing issues have turned this into quite a difficult challenge to overcome. Fortunately, CSS 3 has put the spotlight back on web fonts, and the web is rapidly moving into a multi-font future.
<p>
<span id="more-931"></span></p>
<p>Applying various fonts to blocks of text is nothing new. However, the ability to include new font faces is indeed new, where as before, we were limited to the browser defaults. To include a new font, download the font file that you’d like to include, and then use the @font-face rule to specify a name for the font along with a file path. After that, you can use the font as you normally would.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #a1a100;">@font-face {</span>
   <span style="color: #808080; font-style: italic;">/* Select a name for your font */</span>
  <span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> special-<span style="color: #000000; font-weight: bold;">font</span><span style="color: #00AA00;">;</span>
&nbsp;
  <span style="color: #808080; font-style: italic;">/* Point to the font file */</span>
  src<span style="color: #00AA00;">:</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'myfont.otf'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/* Now use it! */</span>
body <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> special-<span style="color: #000000; font-weight: bold;">font</span><span style="color: #00AA00;">,</span> Arial<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<h3>Browser Compatibility</h3>
<p>This seems simple enough, and indeed, the @font-face rule works in every browser going all the way back to early versions of Internet Explorer. Including fonts isn’t quite that straightforward due to a few lingering file format compatibility issues, but fortunately, several font services have greatly simplified the process and abstracted away these problems. My favourite font service is Google Web Fonts, and I highly recommend you check it out. You can pick any fully licensed font for free, and then all you have to do is include a CSS file from Google’s fast content delivery network. Once the external CSS file has been included, the new font is available to use in other CSS documents.</p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/931/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>Investment in Open Source is up!</title>
		<link>http://winn.ws/archives/475</link>
		<comments>http://winn.ws/archives/475#comments</comments>
		<pubDate>Thu, 19 Aug 2010 20:02:23 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://winn.ws/?p=475</guid>
		<description><![CDATA[This year could be of critical importance to the open source software industry, with a recent survey showing a majority of businesses and organizations in the U.S. and United Kingdom expecting to increase investment in it this year.]]></description>
			<content:encoded><![CDATA[<p>This year could be of critical importance to the open source software industry, with a recent survey showing a majority of businesses and organizations in the U.S. and United Kingdom expecting to increase investment in it this year.</p>
<p>A survey by <a href="http://newsroom.accenture.com/article_display.cfm?article_id=5045">Accenture</a> also showed that nearly 40 percent of those queried also planned to migrate critical operations to open source systems in the next 12 months.<a class="colorbox" href="http://d45jz936mo8n8.cloudfront.net/wp-content/uploads/2010/08/accenture-open-source.jpeg"><img src="http://d45jz936mo8n8.cloudfront.net/wp-content/uploads/2010/08/accenture-open-source-300x225.jpg" alt="" title="accenture-open-source" width="300" height="225" class="alignright size-medium wp-image-477" style="float:right; margin:8px;" /></a></p>
<p>About half the 300 organizations &#8211; in both the public and private sectors &#8211; already are using or have committed to using open source software and about a third are experimenting with OSS. Fully 88 percent of those that already are using OSS in their operations plan to increase their investment.</p>
<p>What may be the key finding in the survey, however, is the reasons behind the move toward open source: Quality.</p>
<p>Firms in the U.K. were more positive about the quality. When asked which aspects of OSS were very or quite important in their decision to go with the open source solutions,  86 percent of the UK organizations surveyed said open source provided better quality software than proprietary systems, and just 49 percent pointed to the lower total cost of ownership. In the U.S., those figures were 66 percent and 65 percent, respectively.</p>
<p>When it came to the disadvantages of open source, those in the U.S. were far more likely to cite the lack of &#8220;true standards&#8221; (42 percent) or &#8220;development control&#8221; (29 percent), while those in the U.K. were focused overwhelmingly on training and education in how to use open source (41 percent), though the standards also were an issue (29 percent). Interestingly, no one in the U.S. cited training and education as an issue.</p>
<p>But in the U.S., companies were far more likely to expect their investment to increase than in the U.K. — 82 percent versus 56 percent.</p>
<p>From <a href="http://www.networkworld.com">Net Workworld</a></p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/475/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rackspace Cloud Files CDN</title>
		<link>http://winn.ws/archives/397</link>
		<comments>http://winn.ws/archives/397#comments</comments>
		<pubDate>Wed, 02 Jun 2010 17:00:42 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[CodeIgniter]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=397</guid>
		<description><![CDATA[Most web applications today use a CDN (Content Delivery Network) to take the load off the web server.]]></description>
			<content:encoded><![CDATA[<p>Most web applications today use a CDN (Content Delivery Network) to take the load off the web server. This is a great option, for developers as we can run the application on less web servers and save some money. The <a href="http://www.rackspacecloud.com/957.html">Rackspace Cloud Files</a> is a pay per use CDN so you only pay for the amount of traffic your application has.</p>
<blockquote><p>
Cloud Files provides you and your applications unlimited online storage for media – items like backups, video files, or user content. And in an industry first, you can deliver that content to your users at blazing speeds over Limelight Networks.
</p></blockquote>
<p><strong>Benefits</strong></p>
<ul>
<li>Scalable, dynamic storage. Use as much or little as you want and only pay for what you use.</li>
<li>Manage files through our online control panel or programmatically through our REST API.</li>
<li>Serve files publicly at blazing speeds through Limelight Networks CDN technology.</li>
</ul>
<p><strong>Pricing</strong></p>
<ul>
<li>Storage starts at $0.15 per gigabyte.</li>
<li>Outgoing bandwidth starts at $0.22 per gigabyte</li>
</ul>
<h4><a href="http://www.rackspacecloud.com/957.html">Sign up for Cloud Files.</a></h4>
<h4>No contracts. No setup fees. Cancel at any time.</h4>
<p><a href='http://d45jz936mo8n8.cloudfront.net/wp-content/uploads/2010/06/Cloud-Files.pdf'>Cloud Files PDF</a></p>
<h4>Once your on Cloud Files</h4>
<p>Read my post on <a href="http://www.winn.ws/archives/388">using a CDN with Codeigniter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/397/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Jumping page content</title>
		<link>http://winn.ws/archives/360</link>
		<comments>http://winn.ws/archives/360#comments</comments>
		<pubDate>Fri, 14 May 2010 02:36:25 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=360</guid>
		<description><![CDATA[You are likely aware of the page-centering technique of adding auto left and right margins to an outer div: 1 2 3 #some_div &#123; margin: 0 auto; &#125; One of the issues of this is that when used on websites with multiple pages, the layout can appear to “jump” a little bit when going back [...]]]></description>
			<content:encoded><![CDATA[<p>You are likely aware of the page-centering technique of adding auto left and right margins to an outer div:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#some_div</span>   <span style="color: #00AA00;">&#123;</span>
     <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span> <span style="color: #993333;">auto</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>One of the issues of this is that when used on websites with multiple pages, the layout can appear to “jump” a little bit when going back and forth between pages that require scroll bars and pages that do not. This is because the ~16px width of the scroll bar in the browser window causes the content area to become that much narrower and the wrap div re-centers itself in the narrower content area causing the jump.</p>
<p>One way to eliminate this jump is to force scroll bars onto every page regardless if they need them or not. This may annoy some purists out there, but I think it’s a decent solution.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">html    <span style="color: #00AA00;">&#123;</span>
     overflow-y<span style="color: #00AA00;">:</span><span style="color: #993333;">scroll</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>I just used this in a recent project and it checks out with all browsers including IE6.</p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/360/feed</wfw:commentRss>
		<slash:comments>0</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>Phasing out support for IE 6</title>
		<link>http://winn.ws/archives/180</link>
		<comments>http://winn.ws/archives/180#comments</comments>
		<pubDate>Wed, 10 Dec 2008 19:48:46 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Design & Layout]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=180</guid>
		<description><![CDATA[37Signals is dropping all support for ie6! This will be a good move, as most company&#8217;s are still stuck on supporting ie6 costing millions in time and effort. On August 15th, 2008 October 1, 2008 we will begin phasing out support for Internet Explorer 6 across all 37signals products. In order to continue using the [...]]]></description>
			<content:encoded><![CDATA[<p>37Signals is dropping all support for ie6! This will be a good move, as most company&#8217;s are still stuck on supporting ie6 costing millions in time and effort.</p>
<blockquote><p>
On August 15th, 2008 October 1, 2008 we will begin phasing out support for Internet Explorer 6 across all 37signals products. In order to continue using the products without any hiccups, Internet Explorer 6 users should upgrade to a newer browser:
</p></blockquote>
<p><a href="http://37signals.blogs.com/products/2008/07/basecamp-phasin.html">Read it all at 37Signals.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/180/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS 3 talk &#8211; Rounded corners</title>
		<link>http://winn.ws/archives/178</link>
		<comments>http://winn.ws/archives/178#comments</comments>
		<pubDate>Tue, 11 Nov 2008 04:50:13 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Design & Layout]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=178</guid>
		<description><![CDATA[So the last few years have brought amazing things, with the standards movement and getting companies to pay attention to the importance of following standards. In that time, I have seen over five big changes in PHP, three great changes in rails and only one in CSS. Why are we not seeing css3? Why does [...]]]></description>
			<content:encoded><![CDATA[<p>So the last few years have brought amazing things, with the standards movement and getting companies to pay attention to the importance of following standards. In that time, I have seen over five big changes in PHP, three great changes in rails and only one in CSS. Why are we not seeing css3? Why does IE 8 beta still barley work with CSS 2.1? Crazy!</p>
<p>Well, time for a CSS 3 trick! I will cover rounded corners! This is only supported by Firefox and Safari. Below you should see a box with rounded corners!</p>
<div style="-moz-border-radius: 5px;background-color: #333; -webkit-border-radius: 5px;border: 1px solid #fff; padding:0 6px;">
<p>This box has rounded corners!</p>
</div>
<blockquote><p>Here is the code:</p></blockquote>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;div style=&quot;-moz-border-radius: 5px;
background-color: #333;
-webkit-border-radius: 5px;
border: 1px solid #fff;&quot;&gt;
&nbsp;
This box has rounded corners!&lt;/div&gt;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/178/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The OO way of JavaScript</title>
		<link>http://winn.ws/archives/174</link>
		<comments>http://winn.ws/archives/174#comments</comments>
		<pubDate>Tue, 28 Oct 2008 15:00:51 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=174</guid>
		<description><![CDATA[This is something I picked up in making my own functions and trying not to effect my other js libraries. I first start by creating a base function like so: function Wrapper() { &#160; } Then inside that function I create my “methods” if you will&#8230; function Wrapper() { this.MyMethod = function(var) { return var; [...]]]></description>
			<content:encoded><![CDATA[<p>This is something I picked up in making my own functions and trying not to effect my other js libraries. I first start by creating a base function like so:</p>

<div class="wp_syntax"><div class="code"><pre class="js" style="font-family:monospace;">function Wrapper() {
&nbsp;
}</pre></div></div>

<p>Then inside that function I create my “methods” if you will&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="js" style="font-family:monospace;">function Wrapper() {
     this.MyMethod = function(var) {
          return var;
     }
}</pre></div></div>

<p>Once I am done creating the methods I now need to call my new javascript methods, I can do this by creating a new instance of my function that wraps the methods.</p>

<div class="wp_syntax"><div class="code"><pre class="js" style="font-family:monospace;">var MyScript = new Wrapper();</pre></div></div>

<p>After creating the new instance I can now call my methods.</p>

<div class="wp_syntax"><div class="code"><pre class="js" style="font-family:monospace;">MyScript.MyMethod('Some Text');</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/174/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 2/47 queries in 0.013 seconds using disk: basic
Object Caching 624/721 objects using disk: basic
Content Delivery Network via Amazon Web Services: CloudFront: d45jz936mo8n8.cloudfront.net

Served from: winn.ws @ 2012-02-07 19:51:44 -->
