<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.softwarecocktail.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Software Recipes</title>
	
	<link>http://www.softwarecocktail.com/recipes</link>
	<description>Software Recipes</description>
	<lastBuildDate>Fri, 23 Apr 2010 02:56:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.softwarecocktail.com/softwarecocktail" /><feedburner:info uri="softwarecocktail" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><image><link>http://www.softwarecocktail.com/</link><url>http://www.softwarecocktail.com/img/buttons/button_120x60.gif</url><title>Software Cocktail</title></image><feedburner:emailServiceId>softwarecocktail</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>5 Most Bizarre jQuery Plugins To Convince Your Visitors To Stop Using IE6</title>
		<link>http://feeds.softwarecocktail.com/~r/softwarecocktail/~3/cEc7fKR3q3Q/</link>
		<comments>http://www.softwarecocktail.com/recipes/5-most-bizarre-jquery-plugins-to-convince-your-visitors-to-stop-using-ie6/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 09:22:32 +0000</pubDate>
		<dc:creator>Roman</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.softwarecocktail.com/recipes/?p=106</guid>
		<description><![CDATA[Let&#8217;s face the truth &#8211; we all hate tweaking sites that we code to make sure they look the same in IE6 as in all other browsers. And it&#8217;s not because of us being lazy, there are literally tons of compatibility issues with IE6. 
The list of the bugs is really long, but just to [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s face the truth &#8211; we all hate tweaking sites that we code to make sure they look the same in IE6 as in all other browsers. And it&#8217;s not because of us being lazy, there are literally tons of compatibility issues with IE6. </p>
<p>The list of the bugs is really long, but just to name a few: <a href="http://www.positioniseverything.net/explorer/floatIndent.html">floats and margins bug</a>, <a href="http://www.positioniseverything.net/explorer/border-chaos.html">borders bug</a> and <a href="http://www.virtuosimedia.com/tutorials/ultimate-ie6-cheatsheet-how-to-fix-25-internet-explorer-6-bugs">many</a>, <a href="http://www.google.com/custom?q=ie6&#038;sa=Google+PIE&#038;cof=GALT%3A%230099ff%3BS%3Ahttp%3A%2F%2Fpositioniseverything.net%3BGL%3A2%3BAH%3Acenter%3BBGC%3A%23212ca3%3BLH%3A150%3BLC%3A%23ffcc66%3BL%3Ahttp%3A%2F%2Fwww.positioniseverything.net%2Fimages%2Fbuglogo.gif%3BLW%3A588%3BT%3A%23ffffaa%3BGIMP%3A%23ffaaaa%3BAWFID%3A3207e6bfbb1e63d4%3B&#038;sitesearch=positioniseverything.net">many</a> more. Fortunately, there are some hacks and workarounds that help overcome most of these problems, for example a well known underscore hack, where CSS properties that have underscore symbol in front of the them, can be taken into account only by IE6 (haha, this hack itself seems to be one of those compatibility issues <img src='http://www.softwarecocktail.com/recipes/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p>
<p><span id="more-106"></span></p>
<p>I personally spent many hours trying to figure out how to make layouts, fonts and borders look OK in IE6. With gaining more experience, I started spending less and less time on fixing these issues, but still don&#8217;t like wasting time doing this.</p>
<p>Unfortunately Internet Explorer 6 still holds a large market share (18.41% according to <a href="http://marketshare.hitslink.com/browser-market-share.aspx?qprid=2">NetMarketShare</a>, but it&#8217;s really more than 20% if we include other editions, e.g. Maxton and others). </p>
<p>Some day we all will have a dilemma: to continue tweaking our sites to make sure they are fine in IE6, or try convincing our users that IE6 is most unsecured browser in the world and it&#8217;s time to move to newer versions.</p>
<p>Below are listed <strong>5 most bizarre jQuery plugins</strong> that can help you convince your visitors to abandon IE6 in favor of a better browser. They are ordered by the level of dislike for IE6, that web developers should have when they appeal to their visitors to stop using this browser. </p>
<p>I tried all of them to make sure they work well and created demo pages for them as well, so feel free to share this article with everyone still using IE6, who knows may be it will have some effect <img src='http://www.softwarecocktail.com/recipes/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . If you would like to view demo of these plugins, you probably need <a href="http://www.my-debugbar.com/wiki/IETester/HomePage">IETester</a> as you don&#8217;t have IE6 installed on your work machine, do you? <img src='http://www.softwarecocktail.com/recipes/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2 class="subtitle">1. Ultimatum: <strong><a href="http://plugins.jquery.com/project/crash">jQuery Crash</a></strong></h2>
<p><strong>jQuery Crash</strong> is a tiny jQuery plugin that does exactly what its name suggests &#8211; it crashes IE6. This is probably the most serious way of convincing, you must really hate IE6 and perhaps spent a lot of precious time fixing IE6 issues.<br />
<a href="http://plugins.jquery.com/project/crash">Download plugin</a><br />
<a rel="nofollow" href="http://www.softwarecocktail.com/recipes/demo/stop-using-ie6/jquery-crash.html">View demo</a></p>
<h2 class="subtitle">2. Extreme Warning: <strong><a href="http://css-tricks.com/ie-6-blocker-script/">IE 6 Blocker Script</a></strong></h2>
<p><img src="http://www.softwarecocktail.com/recipes/wp-content/uploads/2010/04/ie6_blocker_script.png" alt="jQuery Blocker Script Plugin" title="jQuery Blocker Script Plugin" width="563" height="258" class="alignnone size-full wp-image-127" /><br />
<strong>IE 6 Blocker Script</strong> is a jQuery plugin that displays a warning message saying that this page cannot be viewed using IE6 and suggests using Firefox instead. You can easily change plugin&#8217;s code and display any other message, for example I  added Chrome browser.<br />
<a href="http://css-tricks.com/ie-6-blocker-script/">Download plugin</a><br />
<a rel="nofollow" href="http://www.softwarecocktail.com/recipes/demo/stop-using-ie6/ie6-blocker-script.html">View demo</a></p>
<h2 class="subtitle">3. Serious Warning: <strong><a href="http://plugins.jquery.com/project/blacknwhite">Blacknwhite</a></strong></h2>
<p><img src="http://www.softwarecocktail.com/recipes/wp-content/uploads/2010/04/ie6_blanknwhite.png" alt="jQuery Blanknwhite Plugin" title="jQuery Blanknwhite Plugin" width="561" height="199" class="alignnone size-full wp-image-124" /><br />
<strong>Blacknwhite</strong> is a jQuery plugin that makes the page appear only in black and white colors under IE6 browser. You can also let your visitors know somewhere on your site that this is not a bug, but rather a reminder that they are using an outdated browser.<br />
<a href="http://plugins.jquery.com/project/blacknwhite">Download plugin</a><br />
<a rel="nofollow" href="http://www.softwarecocktail.com/recipes/demo/stop-using-ie6/blacknwhite.html">View demo</a></p>
<h2 class="subtitle">4. Suggestion: <strong><a href="http://plugins.jquery.com/project/jReject">jReject</a></strong></h2>
<p><img src="http://www.softwarecocktail.com/recipes/wp-content/uploads/2010/04/ie6_jreject.png" alt="jQuery jReject Plugin" title="jQuery jReject Plugin" width="563" height="396" class="alignnone size-full wp-image-125" /><br />
<strong>jReject</strong> is another jQuery plugin to convince your visitors to break of the habit of using IE6 browser. It displays very nice and polite warning saying that IE6 is out of date and should be upgraded to a newer version of IE or a different browser.<br />
<a href="http://plugins.jquery.com/project/jReject">Download plugin</a><br />
<a rel="nofollow" href="http://www.softwarecocktail.com/recipes/demo/stop-using-ie6/jreject.html">View demo</a></p>
<h2 class="subtitle">5. Friendly Reminder: <strong><a href="http://think2loud.com/build-an-unsupported-browser-warning-with-jquery/">Bad Browser</a></strong></h2>
<p><img src="http://www.softwarecocktail.com/recipes/wp-content/uploads/2010/04/ie6_bad_browser.png" alt="jQuery Bad Browser Plugin" title="jQuery Bad Browser Plugin" width="563" height="257" class="alignnone size-full wp-image-122" /><br />
<strong>Bad Browser</strong> is a simple jQuery plugin that detects IE6 and displays a sliding message at the top of the page to your visitors. Once the user closes the warning message, this plugin creates a cookie to make sure this user doesn&#8217;t get repeated warnings. I changed it a little bit to suggest using IE8 instead of IE7.<br />
<a href="http://think2loud.com/build-an-unsupported-browser-warning-with-jquery/">Download plugin</a><br />
<a rel="nofollow" href="http://www.softwarecocktail.com/recipes/demo/stop-using-ie6/bad-browser.html">View demo</a></p>
<p>Of course, there are some corporate standards that won&#8217;t allow you to make use of any of these plugins on your employer&#8217;s site of sites of your customers, but if you run a funny, non-serious site, then why not? <img src='http://www.softwarecocktail.com/recipes/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I&#8217;m personally thinking about adding a friendly reminder on my site.</p>
<div class="feedflare">
<a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=cEc7fKR3q3Q:QJbN5SLK_40:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=cEc7fKR3q3Q:QJbN5SLK_40:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=cEc7fKR3q3Q:QJbN5SLK_40:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?i=cEc7fKR3q3Q:QJbN5SLK_40:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=cEc7fKR3q3Q:QJbN5SLK_40:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=cEc7fKR3q3Q:QJbN5SLK_40:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?i=cEc7fKR3q3Q:QJbN5SLK_40:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/softwarecocktail/~4/cEc7fKR3q3Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.softwarecocktail.com/recipes/5-most-bizarre-jquery-plugins-to-convince-your-visitors-to-stop-using-ie6/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://www.softwarecocktail.com/recipes/5-most-bizarre-jquery-plugins-to-convince-your-visitors-to-stop-using-ie6/</feedburner:origLink></item>
		<item>
		<title>3 Simple Steps To Optimize Website Load Speed – Case Study</title>
		<link>http://feeds.softwarecocktail.com/~r/softwarecocktail/~3/KoOtxU6HhZA/</link>
		<comments>http://www.softwarecocktail.com/recipes/3-simple-steps-to-optimize-website-load-speed-case-study/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 08:37:05 +0000</pubDate>
		<dc:creator>Roman</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://www.softwarecocktail.com/recipes/?p=31</guid>
		<description><![CDATA[Whilst the majority of the Internet users are using fast speed connection nowadays, it&#8217;s still very important to optimize your website to make sure it loads as fast as possible. It will not only allow you to save some bandwidth and create a better user experience, but it also seems that Google is going to [...]]]></description>
			<content:encoded><![CDATA[<p>Whilst the majority of the Internet users are using fast speed connection nowadays, it&#8217;s still very important to optimize your website to make sure it loads as fast as possible. It will not only allow you to save some bandwidth and create a better user experience, but it also seems that Google is going to make site load speed a <a href="http://www.mattcutts.com/blog/site-speed/">ranking factor</a>. To show how serious it is they even created a <a href="http://code.google.com/speed/page-speed/">Firebug add-on Page Speed</a> that loads pages of your website, analyzes them and tells you what can be improved in order to make your website load faster. Apart from that, there is a tool called <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=158541&#038;hl=en">Site Performance</a> in Google Webmaster Tools, that shows you how much time it takes to load some pages of your website and what can be improved.</p>
<p>I checked my website with Page Speed add-on and had a look at the information provided in Site Performance section of Google Webmaster Tools and realized how poorly SoftwareCocktail.com is optimized. I decided to fix it writing this article during the optimization process.</p>
<p><span id="more-31"></span></p>
<p>Some suggestions by Page Speed add-on are very easy to implement, for example combining all external JavaScript and CSS files into one file, removing unused CSS entries or using CSS more efficiently, while other can require a good technical knowledge. Page Speed website has <a href="http://code.google.com/speed/page-speed/docs/using.html">lots of documentation</a>, and it&#8217;s well worth reading if you are planning to run a comprehensive analysis of your website.</p>
<p>In this article I would like to work on two things &#8211; enabling compression and adding caching. But first of all, let&#8217;s analyze the site and see what we have now and what can be done.</p>
<p><strong>Disclaimer: Please make backup copy of every file you change to be able to rollback changes quickly when necessary.</strong></p>
<h2 class="subtitle">1. Analyze your website.</h2>
<p>Check your website using Page Speed tool and Site Performance section and identify potential issues.</p>
<p>Below are screenshots from Page Speed tool and Site Performance screen of GWT for SoftwareCocktail.com:</p>
<p><img src="http://www.softwarecocktail.com/recipes/wp-content/uploads/2010/04/page_speed_perf_before.png" alt="Page Speed - Performance before optimization" title="Page Speed - Performance before optimization" width="581" height="294" class="alignnone size-full wp-image-49" /></p>
<p><img src="http://www.softwarecocktail.com/recipes/wp-content/uploads/2010/04/page_speed_gwt.png" alt="Page Speed - Google Webmaster Tools before optimization" title="Page Speed - Google Webmaster Tools before optimization" width="564" height="329" class="alignnone size-full wp-image-50" /></p>
<p>As you can see, every page of the website loads jQuery scripts and CSS, and just applying GZip compression would have saved a lot of bandwidth! Also, most of the website&#8217;s graphics, especially website template graphics and screenshots can have longer expiration date as they don&#8217;t change often.</p>
<p>It&#8217;s also very important to check HTTP headers generated by your website and browser. Page Speed comes with a feature similar to Firebug Net tool, but apart from request/response headers also shows very important information regarding current optimization status &#8211; whether caching is enabled and packed/unpacked size of the resources in one list. </p>
<p><img src="http://www.softwarecocktail.com/recipes/wp-content/uploads/2010/04/page_speed_resources_before.png" alt="Page Speed - Resources before optimization" title="Page Speed - Resources before optimization" width="593" height="182" class="alignnone size-full wp-image-52" /></p>
<p><img src="http://www.softwarecocktail.com/recipes/wp-content/uploads/2010/04/page_speed_resources_html_before.png" alt="Page Speed Resources HTML before optimization" title="Page Speed Resources HTML before optimization" width="585" height="464" class="alignnone size-full wp-image-53" /></p>
<p><img src="http://www.softwarecocktail.com/recipes/wp-content/uploads/2010/04/page_speed_resources_js_before.png" alt="Page Speed Resources JavaScript before optimization" title="Page Speed Resources JavaScript before optimization" width="575" height="418" class="alignnone size-full wp-image-54" /></p>
<p>I highlighted the most important headers &#8211; first of all you can see that HTML page is compressed, but <em>jquery-1.3.2.js</em> file is not. The rest of the JavaScript and CSS files are not compressed as well. Also, Cache-Control header of the HTML page has <em>no-cache</em> directive which effectively says web browser not to cache this resource. Not that bad if you update content of this page quite often, but if that&#8217;s not the case, then you will be better of caching your HTML pages as well.</p>
<h2 class="subtitle">2. Apply GZip compression.</h2>
<p>SoftwareCocktail.com is running on <strong>Apache 2.2</strong> webserver. Since version 2.0, Apache uses <a href="http://httpd.apache.org/docs/2.2/mod/mod_deflate.html">mod_deflate</a> for GZip compression (it was mod_gzip before). </p>
<p>HTML pages on my site return compressed, so <strong>mod_deflate</strong> must be already in active state. To check if it&#8217;s active you can invoke PHP function phpinfo(). If you don&#8217;t know how to do this, it&#8217;s very easy &#8211; just create a PHP file with the following content:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #990000;">phpinfo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>It shows a lot of useful information about your site, PHP, MySQL, Apache configuration and much more. It&#8217;s good to go through all this info, but at this moment we are interested in loaded Apache modules. Look for &#8220;<strong>apache2handler</strong>&#8221; string on this page. I have quite a few loaded modules and <strong>mod_deflate</strong> is among them. </p>
<p>If you don&#8217;t have <strong>mod_deflate</strong> enabled, then you need to enable it first &#8211; not a problem if you have access to the Apache configuration, otherwise you need to contact your hosting company and ask them to enable it for you.</p>
<p>As everything in the Apache world, <strong>mod_deflate</strong> can be configured according to all your requirements &#8211; you can compress only HTML, or only JavaScript, or for example turn off compression for some browsers (some ancient browsers like Netscape 4.0 can&#8217;t display compressed content, and we will take care of it in our configuration).</p>
<p>As my HTML pages return to the browser compressed, it must be already specified somewhere in my config files. I found a special configuration file <em>mod_deflate.conf</em> for <strong>mod_deflate</strong> module, below its content:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">&lt;<span style="color: #000000; font-weight:bold;">IfModule</span> mod_deflate.c&gt;
          AddOutputFilterByType DEFLATE text/html text/plain text/xml
&lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;</pre></div></div>

<p>As this is a global configuration file, all websites hosted on this web server are using it. I am a big advocate of having all configuration settings in as few places as possible, so I decided to have all my configuration in <em>.htaccess</em> file. There are two major reasons for this &#8211; first of all, as I already mentioned, in this case you don&#8217;t spread very vital configuration among many files &#8211; it&#8217;s very helpful if you need to migrate to a different hosting provider, or if you don&#8217;t backup everything on your server but just selected resources, and secondly all the website changes are synchronized between my local and remote server and I can test them locally. Another huge benefit in using <em>.htaccess</em> file is that you don&#8217;t need to restart your Apache server every time you make a change in its configuration.</p>
<p>So I added the following line to my root <em>.htaccess</em> file:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/javascript text/javascript</pre></div></div>

<p>I specified all possible MIME-types for JavaScript to make sure GZip compression will always apply regardless other server settings. <em>AddOutputFilterByType</em> is deprecated since Apache 2.1 so it&#8217;s better to use <em>AddOutputFilter</em> instead, but I&#8217;ll stick to <em>AddOutputFilterByType</em> for now.</p>
<p>According to <a href="http://httpd.apache.org/docs/2.2/mod/mod_deflate.html">mod_deflate</a> page on the Apache website, it&#8217;s worth adding some additional conditions to fix Netscape 4.0 and proxy issues, so let&#8217;s do this:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;"># Netscape 4.x has some problems...</span>
<span style="color: #00007f;">BrowserMatch</span> ^Mozilla/<span style="color: #ff0000;">4</span> gzip-only-text/html
&nbsp;
<span style="color: #adadad; font-style: italic;"># Netscape 4.06-4.08 have some more problems</span>
<span style="color: #00007f;">BrowserMatch</span> ^Mozilla/<span style="color: #ff0000;">4</span>\.0[<span style="color: #ff0000;">678</span>] no-gzip
&nbsp;
<span style="color: #adadad; font-style: italic;"># MSIE masquerades as Netscape, but it is fine</span>
<span style="color: #00007f;">BrowserMatch</span> \bMSIE !no-gzip !gzip-only-text/html
&nbsp;
<span style="color: #adadad; font-style: italic;"># Make sure proxies don't deliver the wrong content</span>
<span style="color: #00007f;">Header</span> append Vary User-Agent env=!dont-vary</pre></div></div>

<p>The conditions above include one <em>Header</em> condition, you need to make sure you have <strong>mod_headers</strong> enabled in order to use it. You can remove this line if you can&#8217;t or don&#8217;t want to enable this module.</p>
<h2 class="subtitle">3. Add caching.</h2>
<p>Page Speed suggested to specify expiration date at least one month for resources that should be cached and a date in the past for resources that shouldn&#8217;t. I&#8217;m going to set one day for HTML pages and 1 month for CSS, JavaScript and images and no cache for everything else.</p>
<p>I&#8217;m going to use <a href="http://httpd.apache.org/docs/2.2/mod/mod_expires.html">mod_expires</a> module to set expiration headers. As with <strong>mod_deflate</strong>, you need to make sure you have <strong>mod_expires</strong> enabled and enable it if it&#8217;s not.</p>
<p>This module is quite easy to understand and to follow, and it&#8217;s one of the examples when configuration &#8220;tells for itself&#8221; without need to be commented. Below is a configuration I put into my site&#8217;s <em>.htaccess</em> file:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">ExpiresActive</span> <span style="color: #0000ff;">On</span>
<span style="color: #00007f;">ExpiresDefault</span> <span style="color: #7f007f;">&quot;access plus 0 seconds&quot;</span>
&nbsp;
<span style="color: #00007f;">ExpiresByType</span> text/html <span style="color: #7f007f;">&quot;access plus 1 day&quot;</span>
<span style="color: #00007f;">ExpiresByType</span> text/css <span style="color: #7f007f;">&quot;access plus 1 month&quot;</span>
<span style="color: #00007f;">ExpiresByType</span> text/javascript <span style="color: #7f007f;">&quot;access plus 1 month&quot;</span>
<span style="color: #00007f;">ExpiresByType</span> application/javascript <span style="color: #7f007f;">&quot;access plus 1 month&quot;</span>
<span style="color: #00007f;">ExpiresByType</span> application/x-javascript <span style="color: #7f007f;">&quot;access plus 1 month&quot;</span>
<span style="color: #00007f;">ExpiresByType</span> image/gif <span style="color: #7f007f;">&quot;access plus 1 month&quot;</span>
<span style="color: #00007f;">ExpiresByType</span> image/jpg <span style="color: #7f007f;">&quot;access plus 1 month&quot;</span>
<span style="color: #00007f;">ExpiresByType</span> image/png <span style="color: #7f007f;">&quot;access plus 1 month&quot;</span>
<span style="color: #00007f;">ExpiresByType</span> application/x-shockwave-flash <span style="color: #7f007f;">&quot;access plus 1 month&quot;</span>
<span style="color: #00007f;">ExpiresByType</span> image/x-icon <span style="color: #7f007f;">&quot;access plus 1 month&quot;</span></pre></div></div>

<p>OK, <em>.htaccess</em> file has been changed, now let&#8217;s see what Page Speed will say. I refreshed the page (make sure you hit <strong>Ctrl+F5</strong> to disregard your browser cache), and clicked Analyze Performance button. The result is great &#8211; page speed score increased from <strong>81/100</strong> to <strong>90/100</strong>. I have large unscaled screenshot which doesn&#8217;t allow to get better results, but a different page shows a better result &#8211; <strong>93/100</strong>.</p>
<p><img src="http://www.softwarecocktail.com/recipes/wp-content/uploads/2010/04/page_speed_resources_after.png" alt="Page Speed Resources after optimization" title="Page Speed Resources after optimization" width="579" height="207" class="alignnone size-full wp-image-55" /></p>
<p>Quite good, considering that all you need to do is just to add simple configuration to your <em>.htaccess</em> file and enable a few modules. </p>
<p>If you would like to follow these steps to speed up your site, feel free to post here about your experience, I will be more than happy to help you out if you have any issues.</p>
<div class="feedflare">
<a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=KoOtxU6HhZA:w4pCQpFsLQA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=KoOtxU6HhZA:w4pCQpFsLQA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=KoOtxU6HhZA:w4pCQpFsLQA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?i=KoOtxU6HhZA:w4pCQpFsLQA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=KoOtxU6HhZA:w4pCQpFsLQA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=KoOtxU6HhZA:w4pCQpFsLQA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?i=KoOtxU6HhZA:w4pCQpFsLQA:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/softwarecocktail/~4/KoOtxU6HhZA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.softwarecocktail.com/recipes/3-simple-steps-to-optimize-website-load-speed-case-study/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.softwarecocktail.com/recipes/3-simple-steps-to-optimize-website-load-speed-case-study/</feedburner:origLink></item>
		<item>
		<title>5 Tricks To Get The Most Out Of Your RSS Feeds With Feedburner</title>
		<link>http://feeds.softwarecocktail.com/~r/softwarecocktail/~3/gWA0l-6maLI/</link>
		<comments>http://www.softwarecocktail.com/recipes/5-tricks-to-get-most-of-your-rss-feeds-with-feedburner/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 09:29:17 +0000</pubDate>
		<dc:creator>Roman</dc:creator>
				<category><![CDATA[Website]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.softwarecocktail.com/recipes/?p=80</guid>
		<description><![CDATA[If your site is powered by WordPress, you must know that it comes with ready-to-use features to generate RSS feeds for your posts and comments. It works seamlessly out of the box, so you can simply leave everything untouched and just use the default RSS URL, but why not get most of RSS, especially if [...]]]></description>
			<content:encoded><![CDATA[<p>If your site is powered by <a href="http://wordpress.org/">WordPress</a>, you must know that it comes with ready-to-use features to generate RSS feeds for your posts and comments. It works seamlessly out of the box, so you can simply leave everything untouched and just use the default RSS URL, but why not get most of RSS, especially if it doesn&#8217;t require any specific knowledge and provided for free? </p>
<p>To implement these tricks below you need to signup for <a href="http://feedburner.google.com">Google Feedburner</a> first (or login if you are already have an account). Google Feedburner is a free RSS publishing service that works as a proxy between your RSS feeds and your RSS readers, allowing you to add lots of features to your RSS feeds. For example, with Feedburner you can track the number of your subscribers, add social bookmarking links to your articles inside the RSS feed, monetize your RSS feed by adding advertisements and much more.<br />
<span id="more-80"></span><br />
Below I listed 5 simple RSS tricks I found quite useful and easy to implement on my site and thought it would be great to share this knowledge. </p>
<h2 class="subtitle">1. Activate MyBrand service.</h2>
<p>This service of Feedburner used to be available for a small fee, but after Google acquired Feedburner, it became free for all Feedburner users. <a href="http://feedburner.google.com/fb/a/mybrand">MyBrand</a> allows you to use all Feedburner features, but have your domain name in the feed&#8217;s URL. It can be very useful if you decide to change RSS service provider in the future. Also all external links to the feeds URL will point to your domain, so it will help you build domain authority. For example, Software Cocktail RSS feed is located at <a href="http://feeds.softwarecocktail.com/softwarecocktail">http://feeds.softwarecocktail.com/softwarecocktail</a> instead of default <em>http://feeds.feedburner.com/softwarecocktail</em> . </p>
<p>To activate this service you need to create a subdomain on your domain and point it to a special  Feedburner URL you will find on the MyBrand page. The rest will be done by Feedburner.</p>
<h2 class="subtitle">2. Activate BrowserFriendly service.</h2>
<p>BrowserFriendly service can be found at the &#8220;Optimize&#8221; -> &#8220;Services&#8221; -> &#8220;BrowserFriendly&#8221;. It adds better usability to your feeds, because instead of raw XML your potential subscribers can see a normal web page with nicely formatted latest posts as well as some added features such as the ability to choose an RSS reader or opt for RSS feeds get delivered by email.</p>
<h2 class="subtitle">3. Activate FeedFlare service.</h2>
<p>FeedFlare allows you to embed social bookmarking links into your feeds, which will be very handy for your subscribers. Currently, you can choose from a number of predefined links, including &#8220;Digg this!&#8221; link which can also display number of diggs, or Stumble Upon one. Additionally, you can create your own flares or browse flares catalog and find something useful there.</p>
<h2 class="subtitle">4. Activate SmartFeed service.</h2>
<p>Your feeds can be read not only from browsers, but also from mobile phones, various gadgets and widgets. With SmartFeed you don&#8217;t need to bother about compatibility of your feeds across different platforms, Feedburner will take care of it for you. All you need to do is just click &#8220;Activate&#8221; button on the SmartFeed service page. You can find SmartFeed options page following this path: &#8220;Optimize&#8221; -> &#8220;Services&#8221; -> &#8220;SmartFeed&#8221;.</p>
<h2 class="subtitle">5. Activate Feed Image Burner service.</h2>
<p>Most modern RSS readers can display a special image associated with the feed. It can be great for brand awareness, so why not take a few minutes and activate it as well? Just go to &#8220;Optimize&#8221; -> &#8220;Services&#8221; -> &#8220;Feed Image Burner&#8221; and select &#8220;Specify custom image URL&#8221; in the &#8220;Image Source&#8221; dropdown. You can use FeedCount there, as suggested by Feedburner, or simply fill out the form with your site&#8217;s logo URL, site title and URL. For maximum compatibility it&#8217;s not recommended to use an image more than 144 pixels tall or wide.</p>
<p>Following these 5 simple steps won&#8217;t take a lot of time, but surely will provide much better user experience and will allow you to keep control of your feed. </p>
<p>Do you know something useful, not included in this list? Feel free to share this knowledge!</p>
<div class="feedflare">
<a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=gWA0l-6maLI:wm5daCLrG3U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=gWA0l-6maLI:wm5daCLrG3U:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=gWA0l-6maLI:wm5daCLrG3U:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?i=gWA0l-6maLI:wm5daCLrG3U:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=gWA0l-6maLI:wm5daCLrG3U:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=gWA0l-6maLI:wm5daCLrG3U:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?i=gWA0l-6maLI:wm5daCLrG3U:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/softwarecocktail/~4/gWA0l-6maLI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.softwarecocktail.com/recipes/5-tricks-to-get-most-of-your-rss-feeds-with-feedburner/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.softwarecocktail.com/recipes/5-tricks-to-get-most-of-your-rss-feeds-with-feedburner/</feedburner:origLink></item>
		<item>
		<title>How to Print Screen on Mac</title>
		<link>http://feeds.softwarecocktail.com/~r/softwarecocktail/~3/ivqPv63Bn-w/</link>
		<comments>http://www.softwarecocktail.com/recipes/how-to-print-screen-on-mac/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 13:31:56 +0000</pubDate>
		<dc:creator>Roman</dc:creator>
				<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://www.softwarecocktail.com/recipes/?p=23</guid>
		<description><![CDATA[Many new Mac users, especially those switched from Windows, very often frantically try to find Print Screen key on their Mac keyboards when they need to make a first screenshot. Unfortunately, there is no such a key, but a good news is it&#8217;s possible to make screenshots in Mac OS X and with even more [...]]]></description>
			<content:encoded><![CDATA[<p>Many new Mac users, especially those switched from Windows, very often frantically try to find Print Screen key on their Mac keyboards when they need to make a first screenshot. Unfortunately, there is no such a key, but a good news is it&#8217;s possible to make screenshots in Mac OS X and with even more options available than in Windows!</p>
<p>On Windows systems pressing <strong>PrintScreen</strong> key makes screenshot of the entire desktop and <strong>Alt + PrintScreen</strong> &#8211; of the active window, and places it to the clipboard, whilst in Mac OS X you can do much more &#8211; even create a screenshot of a selected area and save screenshots as files.<br />
<span id="more-23"></span><br />
Below are 3 ways to make screen grabs in Mac OS X:</p>
<p><strong>Capture the entire screen</strong><br />
1. Press combination of keys <strong>Shift + Apple + 3</strong>.<br />
2. Check your desktop where you will find a file named &#8220;Picture 1&#8243; with our entire desktop. All subsequent screen shots will have incremented number in the file names.</p>
<p><strong>Capture a window</strong><br />
1. Press combination of keys <strong>Shift + Apple + 4</strong>.<br />
2. Cursor should have changed to &#8220;+&#8221;, press the space bar, now cursor should change to a camera icon.<br />
3. Click on a window you would like to take a screenshot of.<br />
4. Check your desktop for a file with the screen shot.</p>
<p><strong>Capture a selected area</strong><br />
1. Press combination of keys <strong>Shift + Apple + 4</strong>.<br />
2. Select an area with the mouse.<br />
3. Check your desktop for a file with the screen shot.</p>
<p>It&#8217;s also possible to copy created screenshots to the clipboard &#8211; just add <strong>Ctrl</strong> key to the combinations above.</p>
<p>If you don&#8217;t like an idea of pressing too many keys you can assign different shortcuts for these screen shot actions using standard Mac settings. To do this just open <strong>System Preferences -> Keyboard &#038; Mouse -> Keyboard Shortcuts</strong> and change change keys under &#8220;Screen Shots&#8221; section:</p>
<p><img src="http://www.softwarecocktail.com/recipes/wp-content/uploads/2009/08/keyboard_shortcuts_screenshot_mac.png" alt="Keyboard Shortcuts Sreenshot Mac" title="Keyboard Shortcuts Sreenshot Mac" width="518" height="466" class="size-full wp-image-26" /></p>
<div class="feedflare">
<a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=ivqPv63Bn-w:OECz0Ug2VFU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=ivqPv63Bn-w:OECz0Ug2VFU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=ivqPv63Bn-w:OECz0Ug2VFU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?i=ivqPv63Bn-w:OECz0Ug2VFU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=ivqPv63Bn-w:OECz0Ug2VFU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=ivqPv63Bn-w:OECz0Ug2VFU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?i=ivqPv63Bn-w:OECz0Ug2VFU:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/softwarecocktail/~4/ivqPv63Bn-w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.softwarecocktail.com/recipes/how-to-print-screen-on-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.softwarecocktail.com/recipes/how-to-print-screen-on-mac/</feedburner:origLink></item>
		<item>
		<title>How to resize Mac OS Boot Camp partitions without data loss</title>
		<link>http://feeds.softwarecocktail.com/~r/softwarecocktail/~3/o-MvGCaLavs/</link>
		<comments>http://www.softwarecocktail.com/recipes/how-to-resize-mac-os-boot-camp-partitions-without-data-loss/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 09:31:13 +0000</pubDate>
		<dc:creator>Roman</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mac OS]]></category>

		<guid isPermaLink="false">http://www.softwarecocktail.com/recipes/?p=3</guid>
		<description><![CDATA[When I bought a MacBook Pro laptop about a year ago I made it dual-boot to be able to use both Mac and Windows. As my main operating system at that time was Windows and Mac was used only for educational purposes, I partitioned my HDD the following way: I gave 120Gb of 160Gb drive [...]]]></description>
			<content:encoded><![CDATA[<p>When I bought a MacBook Pro laptop about a year ago I made it dual-boot to be able to use both Mac and Windows. As my main operating system at that time was Windows and Mac was used only for educational purposes, I partitioned my HDD the following way: I gave 120Gb of 160Gb drive to Windows and only 40Gb to Mac OS.</p>
<p>Recently I completely switched to Mac OS and Mac partition very quickly ran out of space so I started looking for a solution to shrink Windows partition and give all the freed space to Mac. Unfortunately, Mac OS doesn&#8217;t allow resizing boot partitions, even when you boot from a Mac DVD and run disk utility from there.</p>
<p><span id="more-3"></span></p>
<p>Many use <a href="http://www.coriolis-systems.com/iPartition.php">iPartition</a>, which according to users opinions seems to work as expected but comes at a price &pound;29.95, which looks rather expensive for one-time-in-a-life task. After searching a bit more I found <a href="http://www.paragon-software.com/home/camptune/">CampTune &#8211; a free utility from Paragon Software</a> (at least it&#8217;s free at the moment as it&#8217;s still in testing phase) which seemed to be able to do the same as iPartition. </p>
<p>Although both utilities resize partitions non-destructively, I think it&#8217;s needless to say because you already know that before partitioning you have to create a backup of all your important data. </p>
<p>After a quick registration I burned downloaded ISO image onto a CD and booted from it. Despite some minor issues (mouse didn&#8217;t work and work progress indicator didn&#8217;t display resizing progress smoothly) the program did it&#8217;s job and now I have large Mac partition. </p>
<div class="feedflare">
<a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=o-MvGCaLavs:a97izkNpLu0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=o-MvGCaLavs:a97izkNpLu0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=o-MvGCaLavs:a97izkNpLu0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?i=o-MvGCaLavs:a97izkNpLu0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=o-MvGCaLavs:a97izkNpLu0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.softwarecocktail.com/~ff/softwarecocktail?a=o-MvGCaLavs:a97izkNpLu0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/softwarecocktail?i=o-MvGCaLavs:a97izkNpLu0:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/softwarecocktail/~4/o-MvGCaLavs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.softwarecocktail.com/recipes/how-to-resize-mac-os-boot-camp-partitions-without-data-loss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.softwarecocktail.com/recipes/how-to-resize-mac-os-boot-camp-partitions-without-data-loss/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 0.987 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-02-17 20:23:51 -->

