<?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>Route of Queue &#187; Web Development</title>
	<atom:link href="http://www.routeofqueue.com/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.routeofqueue.com</link>
	<description>I have issues</description>
	<lastBuildDate>Sun, 30 May 2010 11:18:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>HTML email with images broken in Windows Live Hotmail and Firefox</title>
		<link>http://www.routeofqueue.com/2009/08/html-email-with-images-broken-in-windows-live-hotmail-and-firefox/</link>
		<comments>http://www.routeofqueue.com/2009/08/html-email-with-images-broken-in-windows-live-hotmail-and-firefox/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 15:15:23 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Hints and Tips]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[baseline]]></category>
		<category><![CDATA[descenders]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[email clients]]></category>
		<category><![CDATA[email with images]]></category>
		<category><![CDATA[fact]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[gap]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[hassle]]></category>
		<category><![CDATA[Hotmail]]></category>
		<category><![CDATA[html email]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[lowecase]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[mac mail]]></category>
		<category><![CDATA[Messenger]]></category>
		<category><![CDATA[Outlook]]></category>
		<category><![CDATA[pixel]]></category>
		<category><![CDATA[quirks]]></category>
		<category><![CDATA[solution]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[windows live messenger]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.routeofqueue.com/?p=88</guid>
		<description><![CDATA[If you&#8217;ve ever had to design/build HTML emails for work or fun or whatever, you might have run into a bit of an issue getting your email to display consistently in the multitude of email clients out there. I tend to just test my emails in Gmail, Outlook, Windows Live Hotmail and occasionally Mac Mail. [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve ever had to design/build HTML emails for work or fun or whatever, you might have run into a bit of an issue getting your email to display consistently in the multitude of email clients out there. I tend to just test my emails in Gmail, Outlook, Windows Live Hotmail and occasionally Mac Mail.</p>
<p>I used to only test in Windows Live Hotmail using IE as I was resigned to the fact that it never worked properly in Firefox &#8211; until now! I finally got hassled into finding a solution for the only issue we had left &#8211; a 3 or 4 pixel gap appearing in between all the images.</p>
<p>It turns out the problem is the way the browsers in quirks and standards mode align images to the text baseline &#8211; the 3 or 4 pixel gap is there to allow room for the descenders of lowecase letters like &#8220;p&#8221; and &#8220;y&#8221; &#8211; even if there are no letters in the &lt;td&gt; with the &lt;img&gt; in it.</p>
<p>There are 2 things you can do to resolve the issue &#8211; force all the images to be aligned to the bottom of the &lt;td&gt; rather than the default (text baseline):</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;something.gif&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;...&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;vertical-align: bottom;&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></div></div>

<p>Or you can take the issue out of the rendering engines hands and fool it by making all the images block-level rather than inline:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;something.gif&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;...&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;display: block;&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></div></div>

<p>I prefer the second option, but the first one should work fine too! ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.routeofqueue.com/2009/08/html-email-with-images-broken-in-windows-live-hotmail-and-firefox/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The JavaScript Programming Language</title>
		<link>http://www.routeofqueue.com/2009/04/the-javascript-programming-language/</link>
		<comments>http://www.routeofqueue.com/2009/04/the-javascript-programming-language/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 22:17:00 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[anyone]]></category>
		<category><![CDATA[architect]]></category>
		<category><![CDATA[Douglas Crockford]]></category>
		<category><![CDATA[Enjoy]]></category>
		<category><![CDATA[investment]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[javascript programming language]]></category>
		<category><![CDATA[joy]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[pleasure]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[Program]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[programming forums]]></category>
		<category><![CDATA[Read]]></category>
		<category><![CDATA[scripting language]]></category>
		<category><![CDATA[Someone]]></category>
		<category><![CDATA[thread]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://www.routeofqueue.com/?p=45</guid>
		<description><![CDATA[Someone posted these links in a resources thread in one of the programming forums I contribute to. It&#8217;s basically a presentation by Yahoo! JavaScript Architect Douglas Crockford &#8211; it&#8217;s a couple of years old, but it&#8217;s all still pretty much accurate. It&#8217;s a must-see for anyone who doesn&#8217;t know much about JavaScript, or more importantly, [...]]]></description>
			<content:encoded><![CDATA[<p>Someone posted these links in a resources thread in one of the programming forums I contribute to.</p>
<p>It&#8217;s basically a presentation by Yahoo! JavaScript Architect Douglas Crockford &#8211; it&#8217;s a couple of years old, but it&#8217;s all still pretty much accurate.</p>
<p>It&#8217;s a must-see for anyone who doesn&#8217;t know much about JavaScript, or more importantly, anyone who thinks they know about it and has cast it aside as a &#8220;simple scripting language&#8221;. ;)</p>
<p>It&#8217;s about 2 hours long so it&#8217;s a bit of an investment, but it&#8217;s been broken up into 4 half-hour-ish videos for your viewing pleasure.</p>
<p>Enjoy:</p>
<p><a href="http://video.yahoo.com/watch/111593/1710507" rel="nofollow">Part 1</a>, <a href="http://video.yahoo.com/watch/111594/1710553" rel="nofollow">Part 2</a>, <a href="http://video.yahoo.com/watch/111595/1710607" rel="nofollow">Part 3</a> and <a href="http://video.yahoo.com/watch/111596/1710658" rel="nofollow">Part 4</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.routeofqueue.com/2009/04/the-javascript-programming-language/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mod rewrite URL with 2 question marks?</title>
		<link>http://www.routeofqueue.com/2009/02/mod-rewrite-url-with-2-question-marks/</link>
		<comments>http://www.routeofqueue.com/2009/02/mod-rewrite-url-with-2-question-marks/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 21:46:42 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Hints and Tips]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[colleague]]></category>
		<category><![CDATA[condition]]></category>
		<category><![CDATA[fact]]></category>
		<category><![CDATA[file folder]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[legit]]></category>
		<category><![CDATA[Mod]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[query string]]></category>
		<category><![CDATA[querystring]]></category>
		<category><![CDATA[question]]></category>
		<category><![CDATA[question mark]]></category>
		<category><![CDATA[question marks]]></category>
		<category><![CDATA[request]]></category>
		<category><![CDATA[request url]]></category>
		<category><![CDATA[rewrite rule]]></category>
		<category><![CDATA[RewriteCond]]></category>
		<category><![CDATA[RewriteRule]]></category>
		<category><![CDATA[RewriteRules]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[simple solution]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[workaround]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://www.routeofqueue.com/?p=14</guid>
		<description><![CDATA[A colleague asked me for some help with a few RewriteRules in his .htaccess today. One of the links he was trying to rewrite was unusual in the fact that is had 2 question marks &#8220;?&#8221; in it. Let&#8217;s say the url looked like: www.site.com/2009/1/is-this-a-legit-url?-i-don't-know? and you wanted to rewrite that to: www.site.com/2009/1/is-this-a-legit-url-i-dont-know/ You might [...]]]></description>
			<content:encoded><![CDATA[<p>A colleague asked me for some help with a few RewriteRules in his .htaccess today. One of the links he was trying to rewrite was unusual in the fact that is had 2 question marks &#8220;?&#8221; in it.</p>
<p>Let&#8217;s say the url looked like:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">www.site.com/<span style="color: #ff0000;">2009</span>/<span style="color: #ff0000;">1</span>/is-this-a-legit-url?-i-don<span style="color: #7f007f;">'t-know?</span></pre></div></div>

<p>and you wanted to rewrite that to:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">www.site.com/<span style="color: #ff0000;">2009</span>/<span style="color: #ff0000;">1</span>/is-this-a-legit-url-i-dont-know/</pre></div></div>

<p>You might think the rewrite would be simple, like so:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">RewriteRule</span> ^<span style="color: #ff0000;">2009</span>/<span style="color: #ff0000;">1</span>/is-this-a-legit-url\?-don%27t-know\?/?$ /<span style="color: #ff0000;">2009</span>/<span style="color: #ff0000;">1</span>/is-this-a-legit-url-i-dont-know/? [R=<span style="color: #ff0000;">301</span>,NC,L]</pre></div></div>

<p>If you run that though, apache will throw a wobbly and tell you that &#8220;The requested URL /2009/1/is-this-a-legit-url was not found on this server.&#8221;</p>
<p>The reason for this is the server thinks everything after the first &#8220;?&#8221; is the querystring, so in this case, the apache is looking for a file/folder called &#8220;/2009/1/is-this-a-legit-url&#8221; and it will pass the querystring through as &#8220;-i-don&#8217;t-know?&#8221;</p>
<p>Of course, the simple solution would be to just match up to the first question mark in the rule, but that might not always be appropriate &#8211; e.g. if the string began with a question mark for whatever reason!</p>
<p>We came up with a cunning workaround for this by matching both the request url and the querystring like so:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">RewriteCond</span> %{QUERY_STRING} ^-i-don%27t-know\?/?$ [NC]
<span style="color: #00007f;">RewriteRule</span> ^<span style="color: #ff0000;">2009</span>/<span style="color: #ff0000;">1</span>/is-this-a-legit-url$ /<span style="color: #ff0000;">2009</span>/<span style="color: #ff0000;">1</span>/is-this-a-legit-url-i-dont-know/? [R=<span style="color: #ff0000;">301</span>,NC,L]</pre></div></div>

<p>Now, if a request like the original one above comes in, the query string will match the rewrite condition, and the requested URL will match the rewrite rule! :)</p>
<p>Note the extra question mark at the end of the rewritten rule &#8220;/is-this-a-legit-url-i-dont-know/? [R=301,NC,L]&#8221; &#8211; you need that in there to stop the server trying to push the original query string through.</p>
<p>Without it, your URL will be redirected to:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">www.site.com/<span style="color: #ff0000;">2009</span>/<span style="color: #ff0000;">1</span>/is-this-a-legit-url-i-dont-know/?-i-don%2527t-know%3f</pre></div></div>

<p>Unfortunately, using this method does mean that if you have any variable in the query string that you want to push through, you won&#8217;t be able to&#8230; Chances are though, that if you have 2 question marks, something&#8217;s gone wrong anyway, so this fix is better than nothing! ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.routeofqueue.com/2009/02/mod-rewrite-url-with-2-question-marks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best Practices for Speeding Up Your Website</title>
		<link>http://www.routeofqueue.com/2008/05/best-practices-for-speeding-up-your-website/</link>
		<comments>http://www.routeofqueue.com/2008/05/best-practices-for-speeding-up-your-website/#comments</comments>
		<pubDate>Wed, 14 May 2008 18:53:21 +0000</pubDate>
		<dc:creator>Sii</dc:creator>
				<category><![CDATA[Hints and Tips]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[combination]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ground]]></category>
		<category><![CDATA[investment]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[October]]></category>
		<category><![CDATA[performance rules]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[Speeding]]></category>
		<category><![CDATA[Steve]]></category>
		<category><![CDATA[Steve Souders]]></category>
		<category><![CDATA[website]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[YSlow]]></category>

		<guid isPermaLink="false">http://www.routeofqueue.com/?p=12</guid>
		<description><![CDATA[I&#8217;ve been watching/listening to October 07&#8242;s FOWA presentations and the latest one I&#8217;ve heard &#8211; by Yahoo&#8217;s Steve Souders &#8211; struck me as worth a quick look. Who wouldn&#8217;t want to speed up their websites? Steve describes 14 rules that make up a &#8216;best practices for speeding up your website&#8217;: http://developer.yahoo.com/performance/rules.html And there&#8217;s also a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been watching/listening to October 07&#8242;s FOWA presentations and the latest one I&#8217;ve heard &#8211; by Yahoo&#8217;s Steve Souders &#8211; struck me as worth a quick look. Who wouldn&#8217;t want to speed up their websites?</p>
<p>Steve describes 14 rules that make up a &#8216;best practices for speeding up your website&#8217;: <a title="Best practices for speeding up your website" href="http://developer.yahoo.com/performance/rules.html" rel="nofollow">http://developer.yahoo.com/performance/rules.html</a></p>
<p>And there&#8217;s also a way to use the Firefox add-in, Firebug in combination with YSlow to analyse your sites based on the 14 rules: <a title="Get Firebug" href="http://www.getfirebug.com/" rel="nofollow">http://www.getfirebug.com/</a> and <a title="YSlow" href="http://developer.yahoo.com/yslow/" rel="nofollow">http://developer.yahoo.com/yslow/</a></p>
<p>We&#8217;ve been planning a css/js cache for a while now, but never got it off the ground, still seems that a few of the other rules could provide a good return on little investment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.routeofqueue.com/2008/05/best-practices-for-speeding-up-your-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
