<?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>Brian Jeremy Kupetz &#124; brianjeremy.com &#124; my blog, who i am, what i do, what i've done, how to reach me, links &#187; Application Servers</title>
	<atom:link href="http://www.brianjeremy.com/category/application-servers/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brianjeremy.com</link>
	<description>who am i, what do i do, what have i've done?</description>
	<lastBuildDate>Sat, 24 Jul 2010 13:12:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SQL Server Nightly Backup Script</title>
		<link>http://www.brianjeremy.com/2009/10/19/sql-server-nightly-backup-script/</link>
		<comments>http://www.brianjeremy.com/2009/10/19/sql-server-nightly-backup-script/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 23:13:34 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Application Servers]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[SQL Server 2005]]></category>

		<guid isPermaLink="false">http://www.brianjeremy.com/?p=322</guid>
		<description><![CDATA[Below is a Microsoft SQL Server script that I use to create nightly backups.  The backups (.BAK files) can be copied to hard drive, tape, or remote storage to satisfy your disaster recovery requirements.  The script requires two (2) modifications &#8211; first change the &#8216;master_backup_dir&#8217; variable to the path on your server that [...]]]></description>
			<content:encoded><![CDATA[<p>Below is a Microsoft SQL Server script that I use to create nightly backups.  The backups (.BAK files) can be copied to hard drive, tape, or remote storage to satisfy your disaster recovery requirements.  The script requires two (2) modifications &#8211; first change the &#8216;master_backup_dir&#8217; variable to the path on your server that you would like the backups stored and second update the &#8216;retain_day&#8217; variable to the number of days you wish to retain the backups on physical disk prior to removal.</p>
<p>Configure the SQL Agent to run a nightly job with a single step that executes the T-SQL code.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/*********************************************************/</span>
<span style="color: #808080; font-style: italic;">/* Job requires use of xp_create_subdir and xp_delete_file to
create backup directories and delete old files */</span>
<span style="color: #808080; font-style: italic;">/*********************************************************/</span>
&nbsp;
<span style="color: #808080; font-style: italic;">-- All Databases excluding (non-read only and sample) databases are backed up.</span>
<span style="color: #808080; font-style: italic;">-- Expired backups are deleted</span>
&nbsp;
<span style="color: #808080; font-style: italic;">-- Backups of master, model and msdb are written to a 'System' folder</span>
<span style="color: #808080; font-style: italic;">-- Backups of user databases are written to folders named after the databases</span>
&nbsp;
<span style="color: #808080; font-style: italic;">-- Get names of eligible databases (excluding tempdb and sample databases)</span>
&nbsp;
declare databases_to_backup cursor
<span style="color: #993333; font-weight: bold;">FOR</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> name <span style="color: #993333; font-weight: bold;">FROM</span> master<span style="color: #66cc66;">..</span>sysdatabases
<span style="color: #993333; font-weight: bold;">WHERE</span> name <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NorthWind'</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'Pubs'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AdventureWorks'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'tempdb'</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">STATUS</span> &amp;amp; <span style="color: #cc66cc;">1024</span><span style="color: #66cc66;">&#41;</span> &amp;lt;&amp;gt; <span style="color: #cc66cc;">1024</span>
<span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> name
<span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #993333; font-weight: bold;">READ</span> only
go
&nbsp;
<span style="color: #993333; font-weight: bold;">SET</span> nocount <span style="color: #993333; font-weight: bold;">ON</span>
&nbsp;
declare @db_name varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">50</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
@master_backup_dir varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
@specific_backup_dir varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
@backup_date char<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
@backup_time char<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
@filename varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
@retain_days tinyint<span style="color: #66cc66;">,</span>
@delete_date datetime
&nbsp;
<span style="color: #808080; font-style: italic;">-- Specify high level backup directory and number of days' backups to keep on disk</span>
<span style="color: #993333; font-weight: bold;">SET</span> @master_backup_dir <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'D:<span style="color: #000099; font-weight: bold;">\d</span>ata<span style="color: #000099; font-weight: bold;">\b</span>ackup<span style="color: #000099; font-weight: bold;">\s</span>ql2005<span style="color: #000099; font-weight: bold;">\'</span>
set @retain_days = 14
&nbsp;
-- Open the cursor and retrieve the first database name
open databases_to_backup
fetch databases_to_backup into @db_name
&nbsp;
while (@@fetch_status = 0)
begin
-- Build a datetime string to uniquely identify the backup
set @backup_date = convert(char(8),getdate(),112)
set @backup_time = right('</span>00<span style="color: #ff0000;">' + convert(varchar(2),datepart(hh,getdate())),2) + right('</span>00<span style="color: #ff0000;">' + convert(varchar(2),datepart(mi,getdate())),2)
&nbsp;
-- Build the specific backup directory path
if @db_name in ('</span>master<span style="color: #ff0000;">','</span>model<span style="color: #ff0000;">','</span>msdb<span style="color: #ff0000;">')
set @specific_backup_dir = @master_backup_dir + '</span>System\<span style="color: #ff0000;">'
else
set @specific_backup_dir = @master_backup_dir + @db_name + '</span>\<span style="color: #ff0000;">'
&nbsp;
-- Verify the backup directory exists
exec master.dbo.xp_create_subdir @specific_backup_dir
&nbsp;
-- Build a unique filename and backup the database
set @filename = @specific_backup_dir + @db_name + '</span>_db_<span style="color: #ff0000;">' + @backup_date + @backup_time + '</span><span style="color: #66cc66;">.</span>bak<span style="color: #ff0000;">'
BACKUP DATABASE @db_name TO DISK = @filename
&nbsp;
-- Delete files older than specified retain days
set @delete_date = dateadd(d, (@retain_days * -1) , getdate())
exec xp_delete_file 0, @specific_backup_dir, N'</span>bak<span style="color: #ff0000;">', @delete_date
&nbsp;
-- Get the next database name
fetch databases_to_backup into @db_name
end
&nbsp;
set nocount off
&nbsp;
close databases_to_backup
deallocate databases_to_backup</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.brianjeremy.com/2009/10/19/sql-server-nightly-backup-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The making of a ringtone generator</title>
		<link>http://www.brianjeremy.com/2009/06/07/the-making-of-a-ringtone-generator/</link>
		<comments>http://www.brianjeremy.com/2009/06/07/the-making-of-a-ringtone-generator/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 02:26:35 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Application Servers]]></category>
		<category><![CDATA[Interactive Advertising]]></category>
		<category><![CDATA[Recent Works]]></category>

		<guid isPermaLink="false">http://www.brianjeremy.com/?p=316</guid>
		<description><![CDATA[**Note, before you read this scroll down and click the &#8216;preview&#8217; button to pause the application while you read this article.  The preview button is located to the right of the pan &#038; volume.
In late 2008 Coca-Cola asked Juxt to create a ringtone generator for their Sprite brand.  The concept was fairly fairly [...]]]></description>
			<content:encoded><![CDATA[<p><strong>**Note, before you read this scroll down and click the &#8216;preview&#8217; button to pause the application while you read this article.  The preview button is located to the right of the pan &#038; volume.</strong></p>
<p>In late 2008 <a href="http://www.coca-cola.com">Coca-Cola</a> asked <a href="http://www.juxtinteractive.com">Juxt</a> to create a ringtone generator for their <a href="http://www.sprite.com">Sprite</a> brand.  The concept was fairly fairly straight forward, create an engaging rich media campaign for Sprite that would supplement and drive additional traffic to their under the cap program.  The under the cap program gives participants a digital prize on their mobile phone every time they text a cap code found under the cap of a 20 oz Sprite.</p>
<p>The rich media unit allowed visitors to mix custom samples to create a ringtone which then could be sent to their mobile phone.  The mechanism for delivery of the ringtone was sending a text message with a unique code to 77483 [Sprite's short code].  The unique code was determined by the selection and pattern of samples chosen in the mixer.</p>
<p>So far so good, four samples (drums, bass, lead, and synth) and four measures the only piece missing is a creative mind to mix yourself a ringtone.  This is where things get both complicated and interesting.  Due to the hosting environment infrastructure and mobile messaging platform we were unable to create ringtones on demand in real-time.  Instead we were require to create all possible combination of ringtones in advance.  Using a 4&#215;4 grid of samples and measures we are left with  65,536 possible combination&#8217;s but one option is complete silence so our magic number is 65,535 distinct ringtone possibilities.</p>
<p>We tried a wide variety of different software applications to sequence audio tracks to generate our 65,535 ringones.  However, after much research we determined that each piece of software resulted in poor results.  For the most part, desktop applications weren&#8217;t able to process the sheer bulk size of the files we were trying to sequence.  It became evident that this wasn&#8217;t going to be an easy task.  Eventually I found a audio conversion application for linux called <a href="http://sox.sourceforge.net/">the Swiss Army knife of sound processing</a> (SOX).  After trial and error and a make shift syntax manual I was able to join four samples (drums, bass, synth, lead) so they all played at the same time.  Success.  Well, not quite success but progress.</p>
<p>Having a solution to merge audio tracks was comforting, but there was still a few more hurdles.  Mainly, how do I go from creating one combination to over sixty-five thousand, and how would I generate a code that could easily be interpreted by the Flash mixing interface so the right SMS code could be generated?  Since SOX is a linux tool it made sense to create a script to write an application to sequence the ringtones.  PHP was an obvious candidate, its available, easy to write, and very robust. I am going to spare the details of the contents of the script, but I can tell you that it used bit arrays, translation, loops, and math.  As I mentioned previously matching the code to a specific ringtone is extremely important.  If you are in the industry you are aware that banners and rich media units have file size requirements.  In our case the flash mixer needed to be less than 100k.  The design and functionality already left us at nearly 100k which meant we didn&#8217;t have room for logic in the application and we could not load a mapping into the flash application via XML because the file size would be ~5MB which would kill the experience.  </p>
<p>Regardless, we found a pattern relying on hex that allowed us to use a simple naming scheme that the mixer could understand with very little logic.  Then we modified the naming convention slightly to make sure we didn&#8217;t generate any codes that matched data in the 18,000 row document explaining how to spell vulgar or inappropriate terms using your keypad. After generating 65,535 ringtones in a number of formats we put them on a terabyte drive sent them to an unnamed country in Europe and the rest is history, run through the MTV or VHS properties to find the ringtone mixer and get yourself a new ringtone.</p>
<div id="player">
		<script type="text/javascript">
                               var so = new FlashObject("/portfolio/2009-sprite-under-the-cap-ringtone-mixer/mixer.swf", "player", "500", "300", "9");
				so.write("player");
		</script>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.brianjeremy.com/2009/06/07/the-making-of-a-ringtone-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>House Website Can&#8217;t Withstand Failed Buyout</title>
		<link>http://www.brianjeremy.com/2008/09/29/house-website-cant-withstand-failed-buyout/</link>
		<comments>http://www.brianjeremy.com/2008/09/29/house-website-cant-withstand-failed-buyout/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 00:28:29 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Application Servers]]></category>
		<category><![CDATA[Scalability & Infrastructure]]></category>
		<category><![CDATA[Web Servers]]></category>

		<guid isPermaLink="false">http://www.brianjeremy.com/?p=277</guid>
		<description><![CDATA[It seems there are so many American&#8217;s that aren&#8217;t happy about the failed $700 Billion buyout plan that the www.house.gov website is taking two minutes to load [in some cases not loading at all].  I&#8217;m not all that happy with politicians these days, but I don&#8217;t really feel that sending them an email through the [...]]]></description>
			<content:encoded><![CDATA[<p>It seems there are so many American&#8217;s that aren&#8217;t happy about the failed $700 Billion buyout plan that the <a title="www.house.gov" href="http://www.house.gov" target="_blank">www.house.gov</a> website is taking two minutes to load [in some cases not loading at all].  I&#8217;m not all that happy with politicians these days, but I don&#8217;t really feel that sending them an email through the house.gov website is really going to result in better policy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianjeremy.com/2008/09/29/house-website-cant-withstand-failed-buyout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KONICHIWA 1.0 Web Server</title>
		<link>http://www.brianjeremy.com/2008/06/28/konichiwa-10-web-server/</link>
		<comments>http://www.brianjeremy.com/2008/06/28/konichiwa-10-web-server/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 23:44:41 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Application Servers]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web Servers]]></category>

		<guid isPermaLink="false">http://www.brianjeremy.com/?p=250</guid>
		<description><![CDATA[I was just so amused by the creativity of a system administrator that I had absolutely no choice other than to write about it.  Let me set the scene.  I was attempting to bring up my banks website, but the site did not load.  In an effort to deduce the problem I [...]]]></description>
			<content:encoded><![CDATA[<p>I was just so amused by the creativity of a system administrator that I had absolutely no choice other than to write about it.  Let me set the scene.  I was attempting to bring up my banks website, but the site did not load.  In an effort to deduce the problem I visited <a title="Wells Fargo" href="http://www.wellsfargo.com" target="_blank">wellsfargo.com</a> (another large financial institution).  The homepage of Wells Fargo loaded perfectly, and thus I wasn&#8217;t having any obvious problem with my internet connection.</p>
<p>So what did I find so amusing and funny?  Well, it turns out that the Server tag returned in the HTTP Header for Wells Fargo is &#8220;KONICHIWA/1.0&#8243;  At this point, I probably should have enjoyed the laugh instead of investigating further.  But I didn&#8217;t.  First, I went to <a title="Netcraft" href="http://news.netcraft.com/" target="_blank">Netcraft</a> and did a search for wellsfargo.com.  Netcraft shows Wells Fargo as using &#8220;KONICHIWA/1.0&#8243; at least as far back as 2006.  It was now time to set my gut feeling aside that this name was just a cute obfuscation of the real Application Server and confirm that there wasn&#8217;t any new product on the market named Konichiwa.  So, I did the research and it turns out my instincts were right.</p>
<p>So why am I writing about this, why are you reading this, and what Application Server is Wells Fargo actually using?  I will now hopefully answer at least two of those three questions!</p>
<p>There is a long history of security professionals and system administrators attempting to obfuscate what equipment they use [disclaimer: I am a hypocrite and follow these practices].  The rationale for this is simple: If somebody wants to do something malicious to exploit your vulnerabilities it will harder to do so if they think you are using product A instead of product B.  This is merely an illusion, but it gives some peace of mind.  Solving the mystery wasn&#8217;t incredibly difficult thanks to <a title="Net-Square" href="http://net-square.com" target="_blank">Net-Square Solutions</a>, a security research firm based in India.  They have developed a product <a title="httprint" href="http://net-square.com/httprint/i" target="_blank">httprint</a> which uses web server fingerprinting to attempt to identify web servers based on their characteristics instead of the standard HTTP header which as we have seen can easily be obfuscated and renamed to &#8220;Konichiwa&#8221; which loosely means good day in Japanese.</p>
<p>Enough &#8220;Geeking Out&#8221;.  The output from httprint is below, and Wells Fargo is actually running Netscape Enterprise Server 6.0 which makes much more sense.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">httprint v0.301 (beta) - web server fingerprinting tool
(c) 2003-2005 net-square solutions pvt. ltd. - see readme.txt
http://net-square.com/httprint/
httprint@net-square.com
&nbsp;
Finger Printing on http://www.wellsfargo.com:80/
Host Redirected to https//www.wellsfargo.com:443/
Finger Printing Completed on https://www.wellsfargo.com:443/
--------------------------------------------------
Host: www.wellsfargo.com
Derived Signature:
KONICHIWA/1.0
9E431BC86ED3C295811C9DC5811C9DC5811C9DC594DF1BD04276E4BBC184CB92
7FC8D095AF7A648F2A200B4C811C9DC5811C9DC5811C9DC5811C9DC52655F350
FCCC535B811C9DC5FCCC535B811C9DC568D17AAE2576B7696ED3C2959E431BC8
6ED3C295E2CE6922811C9DC5811C9DC5811C9DC56ED3C2956ED3C295E2CE6923
E2CE6923FCCC535F811C9DC568D17AAEE2CE6920
&nbsp;
Banner Reported: KONICHIWA/1.0
Banner Deduced: Netscape-Enterprise/6.0</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.brianjeremy.com/2008/06/28/konichiwa-10-web-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SSL, HTTPS, and your budget.</title>
		<link>http://www.brianjeremy.com/2008/06/15/ssl-https-and-your-budget/</link>
		<comments>http://www.brianjeremy.com/2008/06/15/ssl-https-and-your-budget/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 04:35:51 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Application Servers]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web Servers]]></category>

		<guid isPermaLink="false">http://www.brianjeremy.com/?p=246</guid>
		<description><![CDATA[For folks that are involved in IT Budgeting I&#8217;ve got to lend a little advice about purchasing SSL certificates.  These days most websites require SSL functionality.  When purchasing a certificate be sure to not purchase it for only a  single year.  The pricing of SSL isn&#8217;t expensive in 2008, and the time [...]]]></description>
			<content:encoded><![CDATA[<p>For folks that are involved in IT Budgeting I&#8217;ve got to lend a little advice about purchasing SSL certificates.  These days most websites require SSL functionality.  When purchasing a certificate be sure to not purchase it for only a  single year.  The pricing of SSL isn&#8217;t expensive in 2008, and the time required to install these certificates can be rather grandiose.  Thus, make sure you at least purchase a two year certificate.  One year flies by faster than you can imagine and the cost of installation is much greater than the cost of the certificate.  Invest in your business, buy long term and thank me later.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianjeremy.com/2008/06/15/ssl-https-and-your-budget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Little Sun</title>
		<link>http://www.brianjeremy.com/2008/05/05/a-little-sun/</link>
		<comments>http://www.brianjeremy.com/2008/05/05/a-little-sun/#comments</comments>
		<pubDate>Tue, 06 May 2008 00:54:33 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Application Servers]]></category>
		<category><![CDATA[Industry]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Startups]]></category>

		<guid isPermaLink="false">http://www.brianjeremy.com/?p=242</guid>
		<description><![CDATA[Just got back from a StartupCamp5 and the beginning of Sun&#8217;s JavaOne Conference.  Was able to spend a few hours back in San Francisco, see some friends and family.

]]></description>
			<content:encoded><![CDATA[<p>Just got back from a <a title="Startup Camp" href="http://www.startupcamp.org" target="_blank">StartupCamp5</a> and the beginning of <a title="Sun" href="http://www.sun.com" target="_blank">Sun</a>&#8217;s JavaOne Conference.  Was able to spend a few hours back in San Francisco, see some friends and family.</p>
<p><img src="http://www.brianjeremy.com/_media/sun-microsystems-logo.jpg" alt="Sun Micro" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianjeremy.com/2008/05/05/a-little-sun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yahoo.com&#8217;s YSlow Documentation Lacking</title>
		<link>http://www.brianjeremy.com/2008/02/03/yahoocoms-yslow-documentation-lacking/</link>
		<comments>http://www.brianjeremy.com/2008/02/03/yahoocoms-yslow-documentation-lacking/#comments</comments>
		<pubDate>Sun, 03 Feb 2008 22:01:18 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Application Servers]]></category>
		<category><![CDATA[Scalability & Infrastructure]]></category>
		<category><![CDATA[Web Servers]]></category>

		<guid isPermaLink="false">http://www.brianjeremy.com/2008/02/03/yahoocoms-yslow-documentation-lacking/</guid>
		<description><![CDATA[I&#8217;ve recently been working on performance tuning a set of application servers for optimal performance of a high volume website.   YSlow is a Firefox Add-on that works in conjunction with the Firebug add-on that is intended to help you analyze and understand performance based on Yahoo.com&#8217;s rules of &#8220;High Performance Websites.&#8221;
If you work [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently been working on performance tuning a set of application servers for optimal performance of a high volume website.   <a href="https://addons.mozilla.org/en-US/firefox/addon/5369" title="Firefox - YSlow" target="_blank">YSlow</a> is a <a href="http://www.mozilla.com/en-US/firefox/" title="Firefox" target="_blank">Firefox</a> Add-on that works in conjunction with the <a href="https://addons.mozilla.org/en-US/firefox/addon/1843" title="Firefox - Firebug - Add on" target="_blank">Firebug</a> add-on that is intended to help you analyze and understand performance based on Yahoo.com&#8217;s rules of &#8220;High Performance Websites.&#8221;</p>
<p>If you work with the YSlow tool in a development environment you likely aren&#8217;t going to be using a Content Delivery Network (CDN) such as <a href="http://www.akamai.com" title="Akamai" target="_blank">Akamai</a> or <a href="http://www.limelightnetworks.com/" title="CDN - Limelight Networks" target="_blank">Limelight Networks</a>.   Thus, you get a lower optimization score when testing.  This can obviously be misleading, and there is a work around documented in Yahoo&#8217;s <a href="http://developer.yahoo.com/yslow/faq.html#faq_cdn" title="Yahoo YSlow FAQ" target="_blank">YSlow FAQ</a>.  The problem is that the documentation explains the work around must be configured via: &#8220;Go to <code>about:config</code> in Firefox. You&#8217;ll see the current list of preferences.&#8221;  The issue/confusion is that many people don&#8217;t realize that &#8220;<code>about:config</code>&#8221; isn&#8217;t an option of your browser preferences, or preferences of your plug-ins.  You must type &#8220;<code>about:config</code>&#8221; into the address bar of your browser to pull up these configuration parameters.</p>
<p>The YSlow plug-in itself is very useful.  However, the documentation seems a bit lacking so hopefully I am able to save others who attempt to configure it some valuable time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianjeremy.com/2008/02/03/yahoocoms-yslow-documentation-lacking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
