<?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/"
xmlns:series="http://unfoldingneurons.com/"
><channel><title>Larry Ullman &#187; utilities</title> <atom:link href="http://www.larryullman.com/tag/utilities/feed/" rel="self" type="application/rss+xml" /><link>http://www.larryullman.com</link> <description>Translating Geek Into English</description> <lastBuildDate>Wed, 08 Feb 2012 21:58:37 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Quicksilver for the Mac is Back!</title><link>http://www.larryullman.com/2011/04/26/quicksilver-for-the-mac-is-back/</link> <comments>http://www.larryullman.com/2011/04/26/quicksilver-for-the-mac-is-back/#comments</comments> <pubDate>Tue, 26 Apr 2011 17:29:31 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[Mac OS X]]></category> <category><![CDATA[quicksilver]]></category> <category><![CDATA[utilities]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=2512</guid> <description><![CDATA[For years I was a devotee of Quicksilver, an application launcher and power utility for Mac OS X. And I was not alone: Quicksilver was such an excellent product that the developer got hired by Google to create a similar application for them. Despite Quicksilver&#8217;s source code being available, the project languished. Bugs created by [...]]]></description> <content:encoded><![CDATA[<p>For years I was a devotee of <a
href="http://www.blacktree.com/">Quicksilver</a>, an application launcher and power utility for Mac OS X. And I was not alone: Quicksilver was such an excellent product that the developer got hired by Google to create a similar application for them. Despite Quicksilver&#8217;s source code being available, the project languished. Bugs created by the Snow Leopard operating system (or maybe just Leopard) led me, and many others, to finally give up on Quicksilver, begrudgingly, and turn to alternative products (I went back to what I was using before Quicksilver: <a
href="http://www.obdev.at/products/launchbar/index.html">Launchbar</a>, with which I&#8217;m still quite pleased).</p><p>Well, I&#8217;m thrilled to say that Quicksilver is back! In fact, a new release, b59 went out on April 24th. Quicksilver now has a new Web site, at <a
href="http://qsapp.com/">QSapp.com</a>, and a corresponding blog at <a
href="http://lovequicksilver.com/">LoveQuicksilver.com</a>. Quicksilver is still free, with tons of plug-ins, many of which have been recently updated.</p><p>If you&#8217;re using a Mac, and aren&#8217;t already familiar with Quicksilver, Launchbar, or <a
href="http://www.alfredapp.com/">Alfred</a>, you owe it to yourself to check one or more of them out. It&#8217;s totally diminishing to label these applications as just a launchers, although that&#8217;s the easiest label to apply. You can launch applications with these programs, or open files, but you can also do thinks such as: perform arithmetic, send emails, move and copy files and folders, and much more.</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2011/04/26/quicksilver-for-the-mac-is-back/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Really Useful Tools For PHP Developers</title><link>http://www.larryullman.com/2010/07/04/really-useful-tools-for-php-developers/</link> <comments>http://www.larryullman.com/2010/07/04/really-useful-tools-for-php-developers/#comments</comments> <pubDate>Sun, 04 Jul 2010 01:54:00 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[PHP]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[software]]></category> <category><![CDATA[utilities]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=1060</guid> <description><![CDATA[I recently StumbledUpon an article on Really Useful Tools For PHP Developers at W3Avenue. The article doesn&#8217;t go into too many details, let alone provide specific instructions for any of the tools, but it&#8217;s nicely organized and presents a good list of useful PHP-related tools. The list ranges from development software to security utilities to [...]]]></description> <content:encoded><![CDATA[<p>I recently <a
href="http://www.stumbleupon.com">StumbledUpon</a> an article on <a
href="http://www.w3avenue.com/2009/08/26/really-useful-tools-for-php-developers/">Really Useful Tools For PHP Developers</a> at <a
href="http://www.w3avenue.com">W3Avenue</a>. The article doesn&#8217;t go into too many details, let alone provide specific instructions for any of the tools, but it&#8217;s nicely organized and presents a good list of useful PHP-related tools. The list ranges from development software to security utilities to packages that will simply format your PHP code in a definitive style. Check it out if you&#8217;re a PHP developer; there are always new ways to make your work easier and the output better.</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2010/07/04/really-useful-tools-for-php-developers/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Useful Web Development Sites</title><link>http://www.larryullman.com/2009/10/03/useful-web-development-sites/</link> <comments>http://www.larryullman.com/2009/10/03/useful-web-development-sites/#comments</comments> <pubDate>Sat, 03 Oct 2009 01:48:09 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[Web Development]]></category> <category><![CDATA[css]]></category> <category><![CDATA[html]]></category> <category><![CDATA[utilities]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=490</guid> <description><![CDATA[I&#8217;m constantly running across different useful sites when it comes to choosing a Web page&#8217;s HTML, formatting, CSS, fonts, layout, and so forth. Here are a couple of notable ones: FontTester, as you might expect, lets you play with different CSS and HTML options to adjust what fonts you use and how they are formatted. [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;m constantly running across different useful sites when it comes to choosing a Web page&#8217;s HTML, formatting, CSS, fonts, layout, and so forth. Here are a couple of notable ones:</p><p><a
href="http://www.fonttester.com/">FontTester</a>, as you might expect, lets you play with different CSS and HTML options to adjust what fonts you use and how they are formatted. The page starts with up to three columns of sample text at the top. Then you can edit the properties of the individual columns to compare and contrast different effects. Once you have the look you like, including color, line height, indentation, and more, you can copy the corresponding CSS.</p><p>If you&#8217;re new to CSS, you might want to check out <a
href="http://www.cssbasics.com/">CSS Basics</a>. I think it&#8217;s a fairly straightforward, easy to understand introduction to Cascading Style Sheets. Once you&#8217;ve grasped CSS fundamentals, and found yourself wanting more, check out the exhaustive <a
href="http://www.gracesmith.co.uk/84-amazingly-useful-css-tips-resources/">84 Amazingly Useful CSS Tips &amp; Resources</a>. There are links to LOTS of good content there; just give yourself time to kill and don&#8217;t forget to take good notes!</p><p>Once you&#8217;ve got a site fairly well developed, you ought to do the professional thing and check its accessibility. This is a pretty easy step to skip, especially if you don&#8217;t have personal experience in accessing sites using non-standard tools. Sitepoint put together an article worth reading called <a
href="http://www.sitepoint.com/blogs/2009/07/06/site-accessibility-tools/">12 Tools To Check Your Site&#8217;s Accessibility</a>. Some are software plug-ins that work with Dreamweaver, Eclipse, Firefox, or Opera; other tools are Web based, just like those used to validate a site&#8217;s HTML. Besides increasing the potential number of viewers for your site, making it universally accessible may even be something that&#8217;s mandated by the client. For example, I do a lot of work for educational institutions and the federal government, both of which insist on sites being accessible.</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2009/10/03/useful-web-development-sites/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Tour de Flex</title><link>http://www.larryullman.com/2009/05/30/tour-de-flex/</link> <comments>http://www.larryullman.com/2009/05/30/tour-de-flex/#comments</comments> <pubDate>Sat, 30 May 2009 06:11:01 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[Flex]]></category> <category><![CDATA[adobe]]></category> <category><![CDATA[framework]]></category> <category><![CDATA[utilities]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=417</guid> <description><![CDATA[A valuable Flex resource, in case you&#8217;re not familiar with it, is Adobe&#8217;s Tour de Flex. If you&#8217;re doing any kind of Flex development, this really is a &#8220;must have&#8221;. Besides showing off what you can do using Flex (and Adobe AIR), the Tour de Flex provides a single, simple interface for referencing: Flex components [...]]]></description> <content:encoded><![CDATA[<p>A valuable Flex resource, in case you&#8217;re not familiar with it, is Adobe&#8217;s Tour de Flex. If you&#8217;re doing any kind of Flex development, this really is a &#8220;must have&#8221;. Besides showing off what you can do using Flex (and Adobe AIR), the Tour de Flex provides a single, simple interface for referencing:</p><ul><li>Flex components (UI, containers, effects, validators, etc.)</li><li>Services (data and network interactions)</li><li>Cloud APIs (Amazon, eBay, Flickr, Google, Twitter, etc.)</li><li>Mapping (Google, Mapquest, Yahoo!)</li><li>Third-party tools</li></ul><p>Most categories also have a &#8220;techniques&#8221; section, giving specifics for how to accomplish common tasks. There&#8217;s tons of sample code that are also visible in action, so you can easily understand how the code works in practice. And, of course, the related language reference is included.</p><p>Tour de Flex is available in both an <a
href="http://www.adobe.com/devnet/flex/tourdeflex/web/">online</a> and <a
href="http://www.adobe.com/devnet/flex/tourdeflex/">desktop</a> version (thanks to Adobe AIR for the latter).</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2009/05/30/tour-de-flex/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Alkaline Browser Testing for Macs</title><link>http://www.larryullman.com/2009/05/09/alkaline-browser-testing-for-macs/</link> <comments>http://www.larryullman.com/2009/05/09/alkaline-browser-testing-for-macs/#comments</comments> <pubDate>Sat, 09 May 2009 05:51:15 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[Mac OS X]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[software]]></category> <category><![CDATA[utilities]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=411</guid> <description><![CDATA[I came across a product called Alkaline the other day, put out by Litmus. Alkaline is a Mac application that allows you to test a Web site on up to 17 different Windows browsers. It&#8217;s much like a Windows-specific version of BrowserShots, but guaranteed to always return quick results and with a few bonus features [...]]]></description> <content:encoded><![CDATA[<p>I came across a product called <a
href="http://litmusapp.com/alkaline/">Alkaline</a> the other day, put out by <a
href="http://litmusapp.com/">Litmus</a>. Alkaline is a Mac application that allows you to test a Web site on up to 17 different Windows browsers. It&#8217;s much like a Windows-specific version of <a
href="http://browsershots.org/">BrowserShots</a>, but guaranteed to always return quick results and with a few bonus features such as plug-ins that work with common text editors and IDE&#8217;s like <a
href="http://macromates.com/">TextMate</a> or <a
href="http://www.panic.com/coda/">Coda</a>. For more, check out <a
href="http://litmusapp.com/alkaline/screencast">this screencast</a>. You should also check out BrowserShots, if you haven&#8217;t already. For the occassional browser test, BrowserShots is fantastic. For more frequent and reliable Windows tests, you may find that Alkaline is worth the money (they have a free version, a day pass, or different subscription rates).</p><p>Litmus also makes an application for testing how a newsletter will look in different email clients.</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2009/05/09/alkaline-browser-testing-for-macs/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>21 Lesser-Known Open-Source Applications for Windows</title><link>http://www.larryullman.com/2009/04/16/21-lesser-known-open-source-applications-for-windows/</link> <comments>http://www.larryullman.com/2009/04/16/21-lesser-known-open-source-applications-for-windows/#comments</comments> <pubDate>Thu, 16 Apr 2009 13:57:58 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[open source]]></category> <category><![CDATA[operating system]]></category> <category><![CDATA[os]]></category> <category><![CDATA[software]]></category> <category><![CDATA[utilities]]></category> <category><![CDATA[windows]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=392</guid> <description><![CDATA[I StumbledUpon this page that lists 21 Lesser-Known Open-Source Applications for Windows. As a person that prefers to use open-source software and tries to avoid using Windows, I was intrigued by the listing. As the article points out, many people are already using open-source and cross platform software like the Firefox Web browser, Thunderbird email [...]]]></description> <content:encoded><![CDATA[<p>I <a
href="http://www.stumbleupon.com/">StumbledUpon</a> this page that lists <a
href="http://www.ixibo.com/2009/01/21-lesser-known-open-source-applications-for-windows/">21 Lesser-Known Open-Source Applications for Windows</a>. As a person that prefers to use open-source software and tries to avoid using Windows, I was intrigued by the listing. As the article points out, many people are already using open-source and cross platform software like the <a
href="http://www.getfirefox.com/">Firefox Web browser</a>, <a
href="http://www.mozilla.com/en-US/thunderbird/">Thunderbird email client</a>, <a
href="http://www.gimp.org/">GIMP image manipulation software</a>, <a
href="http://www.openoffice.org/">OpenOffice Microsoft Office alternative</a>, and the <a
href="http://www.videolan.org/">VLC video player</a>. (Although, as an aside, while I do use Firefox as my primary browser, and often use VLC, I&#8217;ve never really thought that GIMP or OpenOffice were really comparable to the commercial alternatives.) The author does a good job of highlighting a mix of things, from utilities to multimedia to games. I expect I&#8217;ll try out <a
href="http://www.brandonz.net/projects/zscreen/">ZScreen</a> for my next book, as I always need to take screenshots on Windows (while testing code). If I used Windows regularly, I expect I&#8217;d love <a
href="http://www.launchy.net/">Launchy</a>, as I love <a
href="http://blacktree.com/">QuickSilver</a> on my Mac. Being able to start applications without moving over to the mouse is such a timesaver. I also do use <a
href="http://filezilla.sourceforge.net/">Filezilla</a> on Windows, and recommend it in my books, as a good, free FTP application.</p><p>I don&#8217;t talk much about Windows, despite so many of you out there using it, so I thought I would pass this along.</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2009/04/16/21-lesser-known-open-source-applications-for-windows/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>JetProfiler for MySQL</title><link>http://www.larryullman.com/2009/03/22/jetprofiler-for-mysql/</link> <comments>http://www.larryullman.com/2009/03/22/jetprofiler-for-mysql/#comments</comments> <pubDate>Sun, 22 Mar 2009 13:47:33 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[MySQL]]></category> <category><![CDATA[database]]></category> <category><![CDATA[performance]]></category> <category><![CDATA[software]]></category> <category><![CDATA[utilities]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=354</guid> <description><![CDATA[I&#8217;ve just recently come across a piece of software called Jet Profiler for MySQL. This is a program that runs on Mac OS X, Linux, and Windows (it&#8217;s runs on Java), and comes in both a free and commercial version. Jet Profiler for MySQL is a diagnostic tool, used to analyze and report upon your [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;ve just recently come across a piece of software called <a
href="http://www.jetprofiler.com/">Jet Profiler for MySQL</a>. This is a program that runs on Mac OS X, Linux, and Windows (it&#8217;s runs on Java), and comes in both a free and commercial version. Jet Profiler for MySQL is a diagnostic tool, used to analyze and report upon your database&#8217;s performance, specifically in terms of the queries run, the tables used, and the MySQL users. It also has more advanced capabilities, like reporting upon master/slave relationships, locking, threads, and so forth. One particularly interesting feature is that it doesn&#8217;t require any special server configuration; in fact, it doesn&#8217;t even need to be installed on the server. You can install the application on your desktop computer, create a new MySQL user on the server, and the software will connect through it. Software like this is another good way to better understand your database and your Web application.</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2009/03/22/jetprofiler-for-mysql/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Ubiquity Plug-in for Firefox</title><link>http://www.larryullman.com/2009/02/10/ubiquity-plug-in-for-firefox/</link> <comments>http://www.larryullman.com/2009/02/10/ubiquity-plug-in-for-firefox/#comments</comments> <pubDate>Tue, 10 Feb 2009 15:43:33 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[firefox]]></category> <category><![CDATA[plug-in]]></category> <category><![CDATA[software]]></category> <category><![CDATA[utilities]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=220</guid> <description><![CDATA[I came across the Ubiquity plug-in for Firefox the other day. If you use your browser a lot, and really like cool, cryptic ways of saving you steps, I could see this being revolutionary (on a personal level). I came across this after reading some stuff about my favorite utility, QuickSilver; the premise and usage [...]]]></description> <content:encoded><![CDATA[<p>I came across the <a
href="https://wiki.mozilla.org/Labs/Ubiquity">Ubiquity plug-in for Firefox</a> the other day. If you use your browser a lot, and really like cool, cryptic ways of saving you steps, I could see this being revolutionary (on a personal level). I came across this after reading some stuff about my favorite utility, <a
href="http://qsapp.com/">QuickSilver</a>; the premise and usage of Ubiquity is comparable. Ubiquity allows you to tie other services into the current Web browser. For example, in <a
href="http://www.vimeo.com/1561578?pg=embed&amp;sec=1561578">this video</a>, by one of Ubiquity&#8217;s creators at <a
href="http://www.mozilla.com">Mozilla</a>, they show how to use Ubiquity to add a <a
href="http://maps.google.com">Google map</a> to an email, then add a note to their calendar, without ever leaving the current browser window. Later in that same demonstration, part of a Web site is translated from Japanese to English, again, without leaving the current browser window. For more information, also see the <a
href="http://www.vimeo.com/user532161/videos/sort:date">other videos by Aza Raskin</a>, <a
href="http://labs.mozilla.com/2008/08/introducing-ubiquity/">http://labs.mozilla.com/2008/08/introducing-ubiquity/</a>, and <a
href="https://addons.mozilla.org/en-US/firefox/addon/mozilla-labs-ubiquity/">https://addons.mozilla.org/en-US/firefox/addon/9527</a>.</p><p>To be clear, Ubiquity is still in a beta format, and it&#8217;s pretty geeky stuff. But if you&#8217;re the kind of person that likes cutting edge (but still useful) ideas, and/or, if you have some time to kill, check it out.</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2009/02/10/ubiquity-plug-in-for-firefox/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Twenty Web Development Tips</title><link>http://www.larryullman.com/2009/01/27/twenty-web-development-tips/</link> <comments>http://www.larryullman.com/2009/01/27/twenty-web-development-tips/#comments</comments> <pubDate>Tue, 27 Jan 2009 14:06:20 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[Web Development]]></category> <category><![CDATA[blog]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[utilities]]></category> <category><![CDATA[writing]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=218</guid> <description><![CDATA[Somewhat randomly I&#8217;ve recently come across two very useful articles, each of which contains ten Web development tips. The first is at hackification, and is called Ten Web Development Tips I Wish I&#8217;d Known Two Years Ago. This seems to be a generally good blog, with lots of stuff worth reading. In this particular article, [...]]]></description> <content:encoded><![CDATA[<p>Somewhat randomly I&#8217;ve recently come across two very useful articles, each of which contains ten Web development tips. The first is at <a
href="http://www.hackification.com">hackification</a>, and is called <a
href="http://www.hackification.com/2008/11/06/ten-web-development-tips-i-wish-id-known-two-years-ago/">Ten Web Development Tips I Wish I&#8217;d Known Two Years Ago</a>. This seems to be a generally good blog, with lots of stuff worth reading. In this particular article, I also heartedly agree with the author&#8217;s suggestions that you should&#8230;</p><ul><li>Use a browser development plug-in, like Firebug and YSlow</li><li>Learn JavaScript</li></ul><p>This author also mentions using a <em>reset stylesheet</em>, something I wasn&#8217;t familiar with but is also mentioned in&#8230;</p><p>&#8230;the <a
href="http://www.yongfook.com/items/view/81/10-dirty-little-web-development-tricks">10 Dirty Little Web Development Tricks</a> article at <a
href="http://www.yongfook.com">Yongfook</a>. That author also recommends using a versioning system like SVN (to control the different versions of files as you work with them), which I feel makes more sense if you&#8217;re working on something with a team. Along with recommendations to learn the jQuery JavaScript framework and the Zend PHP framework, the author also suggests you take a break, perhaps the best piece of debugging advice that I&#8217;ve ever also given (I always include that in my books). There&#8217;s also some best-practices there related to using frameworks and MVC approaches to sites.</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2009/01/27/twenty-web-development-tips/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Using Yahoo!’s YSlow: ETags and Compression</title><link>http://www.larryullman.com/2009/01/22/speeding-up-web-sites-using-yahoo-yslow-part-3/</link> <comments>http://www.larryullman.com/2009/01/22/speeding-up-web-sites-using-yahoo-yslow-part-3/#comments</comments> <pubDate>Thu, 22 Jan 2009 06:25:10 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[Web Development]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[performance]]></category> <category><![CDATA[utilities]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=187</guid> <description><![CDATA[In two previous posts, I discussed analyzing my site using Yahoo!&#8217;s YSlow Firefox plug-in. I went through the initial test results and the steps I took to improve my score. At the end of part 2, I was left with a grade of 95 (whohoo!) but still two hurdles: ETags and sending compressed JavaScript and [...]]]></description> <content:encoded><![CDATA[<p>In two previous posts, I discussed analyzing my site using <a
href="http://developer.yahoo.com/yslow/">Yahoo!&#8217;s YSlow Firefox</a> plug-in. I went through the initial test results and the steps I took to improve my score. At the end of part 2, I was left with a grade of 95 (whohoo!) but still two hurdles: ETags and sending compressed JavaScript and CSS.<span
id="more-187"></span></p><p>New to me, and a slightly negative reflection on my site, was entity tags (<a
href="http://en.wikipedia.org/wiki/HTTP_ETag">ETags</a>). An ETag is a unique identifier for a resource. A browser (and other software) can check a resource&#8217;s ETag to know whether or not to download the resource, somewhat similar to how expiration headers are used. An ETag can be any value that represents the resource and changes when the resource changes. Commonly the server might use the <a
href="http://httpd.apache.org/docs/2.2/mod/core.html#fileetag">file&#8217;s modification time</a> for this value, or a hash representation of the file as a whole (e.g., run the file&#8217;s contents through an MD5 function). My server was providing ETags for all but the main PHP page. This makes sense, because PHP pages aren&#8217;t like static HTML pages: my main PHP page is updated whenever the database it uses for its content is updated.</p><p>One fix would be to have PHP send an ETag header:</p><pre>header("ETag: \"representative value\"");</pre><p>As already written, the representative value could be any of the following:</p><ul><li>The modification time of the last database record used by the page</li><li>An MD5 representation of the entire page, including the database-driven content</li><li>An MD5 representation of just the most recent database record that&#8217;s reflected on the page.</li></ul><p>And the answer I came up with was&#8230;just to ignore ETags on this PHP page. Coming up with any of those values would require a decent rewrite of the entire page, something I just don&#8217;t feel like doing right now. And, in my defense, my score turned out pretty well after I addressed the JavaScript and CSS compression issue&#8230;</p><p>Another reason I lost points was because two of the files being sent (the JavaScript and the CSS) weren&#8217;t being compressed. Most of my site uses PHP, which uses the zlib library to compress data sent to the browser. So PHP on the server compacts the HTML, it gets sent to the browser in compressed format, then the browser decompresses it and reads it. That&#8217;s great and generally recommended, but the JavaScript and CSS pages aren&#8217;t being handled by PHP. One solution is to use Apache&#8217;s mod_gzip or mod_deflate module to compress CSS and JavaScript files. To do that, add this code to an .htaccess or .conf file:</p><pre>&lt;IfModule mod_deflate.c&gt;
&lt;FilesMatch "\.(js|css)$"&gt;
SetOutputFilter DEFLATE
&lt;/FilesMatch&gt;
&lt;/IfModule&gt;</pre><p>That code basically says if mod_deflate is loaded, any file that ends with .js or .css should be ouptut using the deflate filter.</p><p>After I took all these steps, I got my YSlow grade up to a 98! I&#8217;m pretty pleased with that result. Also, in more concrete terms, if a user accesses my home page for the first time, they perform 4 HTTP requests and download just over 21KB of data. Subsequent requests of that same page require only 1 HTTP request and 3KB of data to be downloaded. That should make a big difference.</p><p>To wrap up this thread, I&#8217;ll mention two things. First, the YSlow plug-in and report is a very useful tool, but it&#8217;s not the only test or indicator of a site&#8217;s performance. I do think it&#8217;s a great place to start, though. Second, in researching some of these fixes, I came across several other sites where people did the same thing I did (tested their site using YSlow, then tried to address the problems). If you&#8217;re interested in this process, you may want to search online to read some of those other articles.</p><p>(As a post-script, I will add that one can improve the ETag score by disabling ETags in Apache, strange as this may seem. By doing so, it forces browsers to rely upon the caching headers. So if you can&#8217;t or don&#8217;t want to get ETags to work, turn them off and they won&#8217;t cause a problem.)</p><p>As always, thanks for reading and let me know if you have any questions.</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2009/01/22/speeding-up-web-sites-using-yahoo-yslow-part-3/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <series:name><![CDATA[Speeding Up Web Sites using Yahoo!'s YSlow]]></series:name> </item> </channel> </rss>
<!-- Served from: www.larryullman.com @ 2012-02-09 14:31:19 by W3 Total Cache -->
