<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CEcMQnc6fCp7ImA9WhBbE0Q.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828</id><updated>2013-05-12T21:54:43.914+01:00</updated><category term="ada lovelace" /><category term="tools" /><category term="s3" /><category term="bug" /><category term="books" /><category term="performance google analytics ads" /><category term="project cobalt" /><category term="films" /><category term="instructions" /><category term="WS2008" /><category term="threading" /><category term="FTP7" /><category term="chrome" /><category term="feynman" /><category term="XmlReader" /><category term="cartesian" /><category term="kinetic" /><category term="rss" /><category term="gas" /><category term="video" /><category term="unicode" /><category term="Remember The Milk" /><category term="iceland" /><category term="task manager" /><category term="project colbolt" /><category term="Native XML Database" /><category term="cars" /><category term="maturity" /><category term="NUnit" /><category term="copy360" /><category term="colour" /><category term="visualization" /><category term="big-oh" /><category term="russia" /><category term="xenon" /><category term="code powershell" /><category term="weighttp" /><category term="go performance google ads amazon" /><category term="international" /><category term="lambda" /><category term="MarkLogic" /><category term="Extension method" /><category term="rotate" /><category term="palindrome" /><category term="haiku" /><category term="cross-domain" /><category term="Oslo" /><category term="Oil" /><category term="Resolutions" /><category term="IIS7" /><category term="T-SQL" /><category term="velocity" /><category term="blogging" /><category term="channel9" /><category term="error" /><category term="blogger android" /><category term="google" /><category term="Gordon Brown" /><category term="technorati" /><category term="information architecture" /><category term="quantitative easing" /><category term="ec2" /><category term="Architectural Journal" /><category term="ESB" /><category term="tmux" /><category term="quote" /><category term="flight" /><category term="pathetic self promotion" /><category term="Northen Rock" /><category term="gadget" /><category term="explosion" /><category term="Artificial Intelligence" /><category term="bank of england" /><category term="XQuery" /><category term="typography" /><category term="charity" /><category term="Language" /><category term="best practice" /><category term="user interface" /><category term="google ads performance aws" /><category term="standards w3c" /><category term="zen" /><category term="wars" /><category term="uml" /><category term="Obama" /><category term="Pentasolve" /><category term="drag-and-drop" /><category term="code" /><category term="image" /><category term="devops" /><category term="london" /><category term="update" /><category term="gmail alias swaks" /><category term="periodic table" /><category term="golden ratio" /><category term="speed" /><category term="lilly allen" /><category term="SQL Server 2008" /><category term="lifehack" /><category term="pcmosd" /><category term="markov" /><category term="Tenori-on" /><category term="unfanboy" /><category term="music" /><category term="RDBMS" /><category term="codeplex" /><category term="embedding" /><category term="Fun" /><category term="Getting Things Done" /><category term="gps" /><category term="Mrs Watanabe" /><category term="nitf" /><category term="progamming books" /><category term="Economy" /><category term="Movember" /><category term="ireland" /><category term="amazon aws google performance golang" /><category term="Moonlight" /><category term="nursery rhyme" /><category term="cash" /><category term="pledge" /><category term="MLUC08" /><category term="AdaLovelaceDay09" /><category term="Silverlight" /><category term="mobile" /><category term="visual" /><category term="square root" /><category term="aws s3 ec2 golang" /><category term="web-services" /><category term="characters" /><category term="rhino mock" /><category term="puzzle" /><category term="wtf" /><category term="phone" /><category term="OpenStreetMap" /><category term="IMF" /><category term="travel" /><category term="renderer" /><category term="amazon aws google ads performance" /><category term="DSL" /><category term="favicon" /><category term="diagrams" /><category term="performance" /><category term="standards w3c uml" /><category term="aws" /><category term="Project Strontium" /><category term="economist" /><category term="Elliott wave" /><category term="Dynamic evaluation" /><category term="doors" /><category term="Fibonacci" /><category term="LINQ" /><category term="security" /><category term="Anagrams" /><category term="David Cameron" /><category term="Bush" /><category term="XML" /><category term="cloud" /><category term="game" /><category term="VS2008" /><category term="xUnit" /><category term="spatial data" /><category term="heuristic" /><category term="errors" /><category term="europe" /><category term="book review" /><category term="coding" /><category term="credit crunch" /><category term="Dispatcher" /><category term="orange" /><category term="architecture" /><category term="Exceptions" /><category term="widget" /><category term="revenues" /><category term="McCain" /><category term="atttachments" /><category term="javascript" /><category term="irony" /><category term="cache" /><category term="Investment" /><category term="dynamic" /><category term="mock" /><category term="postfix" /><category term="polar" /><category term="fedora" /><category term="proof of concept" /><category term="evolutionary" /><category term="Regular expressions" /><category term="Politics" /><category term="problem solving" /><category term="agile" /><category term="jargon" /><category term="ichimoku clouds" /><category term="tag cloud" /><category term="amazon" /><category term="internet" /><category term="Permutations" /><category term="ci" /><category term="xqUnit" /><category term="Shakespeare" /><category term="guardian" /><category term="pedias" /><category term="linux" /><category term="computer science" /><category term="Anaglyph" /><category term="SDLC" /><category term="vision" /><category term="soap" /><category term="MOM" /><category term="xeyes" /><category term="blue-green" /><category term="oscillators" /><category term="htc" /><category term="gis" /><category term="Alliteration" /><category term="font" /><category term="LTCM 2.0" /><category term="C#" /><category term="outlook" /><category term="clipping" /><category term="blogger" /><category term="cif" /><category term="food" /><category term="generics" /><category term="San Francisco" /><category term="poetry" /><category term="joke" /><category term="little boots" /><category term="bezier" /><category term="hamlet" /><category term="NASA" /><category term="doh" /><category term="money" /><title>Figment Engine</title><subtitle type="html">Concept generation and storage</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.figmentengine.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>174</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/figmentengine/pqxP" /><feedburner:info uri="figmentengine/pqxp" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CEcMQnc4eyp7ImA9WhBbE0Q.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-2087876990711139079</id><published>2013-05-12T21:54:00.003+01:00</published><updated>2013-05-12T21:54:43.933+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-12T21:54:43.933+01:00</app:edited><title>Not quite the blink of an eye: 300ms vs 100ms</title><content type="html">One of my key architectural considerations is how to make &lt;a href="http://www.figmentengine.com/"&gt;Figment Engine&lt;/a&gt; as fast as possible - really my goal is 100ms (the &lt;a href="http://www.unice.fr/scientificenglish/SciEngBioBlink.html"&gt;blink of an eye&lt;/a&gt;). Now of course this is a stretch target, its incredibly difficult to obtain and even more so for mobile users. At the moment &lt;a href="http://www.webpagetest.org/result/130512_AD_R1V/"&gt;its about 300ms&lt;/a&gt; and takes advantage of a CDN for everything.&lt;br /&gt;
&lt;br /&gt;
The current design keeps the number of requests very low, and ultimately the assets of the page are quite small. I've avoided graphics of any sort so far (except favicon.ico).&lt;br /&gt;
&lt;br /&gt;
I will need to compress files, especially the JavaScript as it grows and think about inlining some of the core CSS. I will also need to look at lazy loading, to avoid the first render being held up by downloads of assets that are not needed for that render.&lt;br /&gt;
&lt;br /&gt;
            
            &lt;br /&gt;

            &lt;div id="average"&gt;
                                    &lt;table align="center" border="1" cellpadding="10" cellspacing="0" class="pretty" id="tableResults"&gt;
                    &lt;tbody&gt;
&lt;tr&gt;
                                                &lt;th align="center" class="empty" style="border: 1px solid white;" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/th&gt;
                        &lt;th align="center" class="empty" colspan="4" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/th&gt;
                        &lt;th align="center" class="border" colspan="3" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;Document Complete&lt;/span&gt;&lt;/th&gt;
                        &lt;th align="center" class="border" colspan="3" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;Fully Loaded&lt;/span&gt;&lt;/th&gt;
                    &lt;/tr&gt;
&lt;tr&gt;
                        &lt;th align="center" class="empty" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/th&gt;
                        &lt;th align="center" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;Load Time&lt;/span&gt;&lt;/th&gt;
                        &lt;th align="center" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;First Byte&lt;/span&gt;&lt;/th&gt;
                        &lt;th align="center" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;Start Render&lt;/span&gt;&lt;/th&gt;
                                                &lt;th align="center" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;&lt;a href="https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics/speed-index" target="_blank"&gt;Speed Index&lt;/a&gt;&lt;/span&gt;&lt;/th&gt;
                                                                        
                        &lt;th align="center" class="border" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;Time&lt;/span&gt;&lt;/th&gt;
                        &lt;th align="center" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;Requests&lt;/span&gt;&lt;/th&gt;
                        &lt;th align="center" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;Bytes In&lt;/span&gt;&lt;/th&gt;

                        &lt;th align="center" class="border" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;Time&lt;/span&gt;&lt;/th&gt;
                        &lt;th align="center" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;Requests&lt;/span&gt;&lt;/th&gt;
                        &lt;th align="center" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;Bytes In&lt;/span&gt;&lt;/th&gt;
                    &lt;/tr&gt;
&lt;tr&gt;
                        &lt;td align="left" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;First View
                        &lt;/span&gt;&lt;/td&gt;&lt;td id="fvLoadTime" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;0.342s&lt;/span&gt;&lt;/td&gt;
&lt;td id="fvTTFB" valign="middle"&gt;&lt;span style="background-color: yellow;"&gt;&lt;span style="font-size: xx-small;"&gt;0.184s&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td id="fvStartRender" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;0.299s&lt;/span&gt;&lt;/td&gt;
&lt;td id="fvVisual" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;300&lt;/span&gt;&lt;/td&gt;
&lt;td class="border" id="fvDocComplete" valign="middle"&gt;&lt;span style="background-color: yellow;"&gt;&lt;span style="font-size: xx-small;"&gt;0.342s&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td id="fvRequestsDoc" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;4&lt;/span&gt;&lt;/td&gt;
&lt;td id="fvBytesDoc" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;6 KB&lt;/span&gt;&lt;/td&gt;
&lt;td class="border" id="fvFullyLoaded" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;0.484s&lt;/span&gt;&lt;/td&gt;
&lt;td id="fvRequests" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;4&lt;/span&gt;&lt;/td&gt;
&lt;td id="fvBytes" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;7 KB&lt;/span&gt;&lt;/td&gt;
                    &lt;/tr&gt;
&lt;tr&gt;
                        &lt;td align="left" class="even" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;Repeat View
                        &lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvLoadTime" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;0.321s&lt;/span&gt;&lt;/td&gt;
&lt;td class="even" id="rvTTFB" valign="middle"&gt;&lt;span style="background-color: yellow;"&gt;&lt;span style="font-size: xx-small;"&gt;0.000s&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td class="even" id="rvStartRender" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;0.189s&lt;/span&gt;&lt;/td&gt;
&lt;td class="even" id="rvVisual" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;200&lt;/span&gt;&lt;/td&gt;
&lt;td class="even border" id="rvDocComplete" valign="middle"&gt;&lt;span style="background-color: yellow;"&gt;&lt;span style="font-size: xx-small;"&gt;0.321s&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td class="even" id="rvRequestsDoc" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;td class="even" id="rvBytesDoc" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;1 KB&lt;/span&gt;&lt;/td&gt;
&lt;td class="even border" id="rvFullyLoaded" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;0.321s&lt;/span&gt;&lt;/td&gt;
&lt;td class="even" id="rvRequests" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;td class="even" id="rvBytes" valign="middle"&gt;&lt;span style="font-size: xx-small;"&gt;1 KB&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/L_-HELAJs3I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/2087876990711139079/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=2087876990711139079" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/2087876990711139079?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/2087876990711139079?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/L_-HELAJs3I/not-quite-blink-of-eye-300ms-vs-100ms.html" title="Not quite the blink of an eye: 300ms vs 100ms" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2013/05/not-quite-blink-of-eye-300ms-vs-100ms.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cNRHYzcCp7ImA9WhBbE00.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-479825152134293298</id><published>2013-05-11T22:48:00.001+01:00</published><updated>2013-05-11T22:51:35.888+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-11T22:51:35.888+01:00</app:edited><title>More code, but technical debt is building</title><content type="html">So having fun adding the ability to cope with multiple commands in my command line interface - and since I know this is an early spike to get it moving I can do things that make the code functional, but also pretty ugly.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-khN8Yz23B5k/UY69XLAeKNI/AAAAAAAADkY/_bCcMC2dcuU/s1600/fecli.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-khN8Yz23B5k/UY69XLAeKNI/AAAAAAAADkY/_bCcMC2dcuU/s320/fecli.PNG" width="312" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
There's a few things already need fixing (some would argue I should have done them before doing anything, but I find it becomes a barrier if I try too early):&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;put some TDD in place, theres only ~80 odd lines of code so its still easy to do&lt;/li&gt;
&lt;li&gt;make the code more structured (in JS land that means more objects)&lt;/li&gt;
&lt;li&gt;separate the UI code from the logic code - so how to add a new command entry vs how to render it in HTML&lt;/li&gt;
&lt;/ul&gt;
One approach I like is not having lots of HTML element creation code, and a neat way round this is to clone an existing node - it probably should be a &lt;b&gt;UI pattern in JavaScript&lt;/b&gt;. So in the example of a command line interface, where each new entry is very similar - rather than having lots of code to recreate the same structure each time: you can simply clone the first node at load time - and then clone that each time to add the same type of HTML item (with children). This also abstracts the HTML structure away from the code, so its easier to evolve the structure and appearance separate from the code. This approach can be generalized for most interfaces with multiple items that are the same (so notes, entities etc) - with the prototype UI object either being the first blank item, or hidden.&lt;br /&gt;
&lt;br /&gt;
So next is probably a bit of refactoring for TDD - and I guess that means I need to find a good TDD library (and good for me means very simple and no dependencies on JQuery etc)&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/KC-9T_2SYZ8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/479825152134293298/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=479825152134293298" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/479825152134293298?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/479825152134293298?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/KC-9T_2SYZ8/more-code-but-technical-debt-is-building.html" title="More code, but technical debt is building" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-khN8Yz23B5k/UY69XLAeKNI/AAAAAAAADkY/_bCcMC2dcuU/s72-c/fecli.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2013/05/more-code-but-technical-debt-is-building.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIEQn89fSp7ImA9WhBbEkw.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-341915257030949247</id><published>2013-05-10T21:25:00.001+01:00</published><updated>2013-05-10T21:25:03.165+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-10T21:25:03.165+01:00</app:edited><title>Writing code beats watching TV</title><content type="html">So I've started to pull together some ideas, concepts and architectures - all of which I've pushed back hard on to just start building an MVP, trying hard to focus on something that does rather than something that is..&lt;br /&gt;
&lt;br /&gt;
Amazingly I still managed to spend too long thinking of domain names, without a line of code written - I guess this is the curse of new ideas, spending too much time trying to find a unique name and (critically) domain name that reflects your idea - rather than working on the idea itself. Given a MVP approach this is pretty dumb, as its unlikely that what you envisage will be the final product anyway..&lt;br /&gt;
&lt;br /&gt;
Each evening this week I've written some client-side portions, be it structure (html: 30 lines), style (css: 54 lines) and some behaviour (javascript: 43 lines) - all without any server side code. I like this approach as I can focus on the user experience (what it does for you), rather than how it does it. Of course soon I will need some server help to give me the system I want, but I'm happy to follow this route for now.&lt;br /&gt;
&lt;br /&gt;
One of the slightly weird things about doing this has been looking at the TV and seeing that it offers little interest compared to writing code - its more interesting to create than consume, but still it surprises me.&lt;br /&gt;
&lt;br /&gt;
I'm also super happy about the &lt;a href="http://www.figmentengine.com/"&gt;expressiveness of the modern platform&lt;/a&gt;, 127 lines of codes gives me a bare-bones CLI - of course the JavaScript needs refactoring, but its a start ;-)&lt;br /&gt;
&lt;br /&gt;
finally I put the code into git, I kind of wish I did this from the first day - but I guess I was being lazy. now whats on TV?&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/H8JU5zzqELY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/341915257030949247/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=341915257030949247" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/341915257030949247?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/341915257030949247?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/H8JU5zzqELY/writing-code-beats-watching-tv.html" title="Writing code beats watching TV" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2013/05/writing-code-beats-watching-tv.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMEQ345eip7ImA9WhNUEkg.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-2183034735595274733</id><published>2013-01-03T22:48:00.003Z</published><updated>2013-01-03T22:50:02.022Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-03T22:50:02.022Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xenon" /><title>Xenon website</title><content type="html">One thing I'm adopting from the start is to release as often as possible, even if its not even MVP.&lt;br /&gt;
&lt;br /&gt;
So the first step is to get a base website up.

&lt;a href="http://xenon.figmentengine.com/"&gt;http://xenon.figmentengine.com/&lt;/a&gt; is the holding location, to make this work I've done a few things:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Used Git for source control (with GitHub)&lt;/li&gt;
&lt;li&gt;Vim for editing&lt;/li&gt;
&lt;li&gt;S3 for static site hosting&lt;/li&gt;
&lt;li&gt;DYN for DNS (as figmentengine.com nameservers are DYN)&lt;/li&gt;
&lt;li&gt;Used http://www.favicon.cc/ to create a favicon (to stop 404 errors) &lt;/li&gt;
&lt;/ul&gt;
Disclosure: I work for Amazon Web Services, this blog however is personal and does not reflect my employer's views. I will be using AWS services as I know them well (and used them before working at AWS).&lt;br /&gt;
&lt;br /&gt;
Generally I'm planning to build most of the code myself, rather than relying on libraries etc - this will change as I need to focus on the core concepts.&lt;br /&gt;
&lt;br /&gt;
I will also be keeping track of the page performance, so the base website &lt;a href="http://www.webpagetest.org/result/130103_BD_RH1/"&gt;benchmarks &lt;/a&gt;at&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Load: 0.7s, TTFB: 0.29s, Start Render: 0.57s, Doc Complete: 0.7s, Fully Loaded: 0.7s&lt;/li&gt;
&lt;/ul&gt;
Next steps will be to put in place a CDN (CloudFront) to reduce global latency, and switch to Route 53 for DNS hosting. These two changes will also enable a slightly different approach to building websites, a mainly static website which is enriched with dynamic content.&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/q-BPMRq98Fg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/2183034735595274733/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=2183034735595274733" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/2183034735595274733?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/2183034735595274733?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/q-BPMRq98Fg/xenon-website.html" title="Xenon website" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2013/01/xenon-website.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QFRX8zfyp7ImA9WhNUEEo.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-1731357122611467639</id><published>2013-01-01T22:28:00.001Z</published><updated>2013-01-01T22:28:34.187Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-01T22:28:34.187Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xenon" /><title>Project code name 'xenon'</title><content type="html">&lt;p dir=ltr&gt;As with all my personal projects this one starts life with a name from the periodic table - this stops me spending too much time coming up with a name when I should be focused on the core idea.&lt;/p&gt;
&lt;p dir=ltr&gt;However, my approach this time differs from my usual route, in that its much more undefined - I don't have a specific product in mind, or a defined end goal. It will however bring together a number of threads I've been thinking about for a number of years.&lt;/p&gt;
&lt;p dir=ltr&gt;So watch this space for &lt;b&gt;xenon&lt;/b&gt; featuring emergence, AI, visualization and an alternative computational model.&lt;/p&gt;
&lt;p dir=ltr&gt;btw I do have a cool name for xenon, but I want to validate it matches what I actually build. My design is blank so far, so I don't want to create an artificial constraint.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/rcQSxEnpSA0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/1731357122611467639/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=1731357122611467639" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/1731357122611467639?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/1731357122611467639?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/rcQSxEnpSA0/project-code-name.html" title="Project code name &amp;#39;xenon&amp;#39;" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2013/01/project-code-name.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUCRX44fip7ImA9WhVWFUk.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-8742199724290127107</id><published>2012-04-27T16:56:00.000+01:00</published><updated>2012-04-27T16:57:44.036+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-27T16:57:44.036+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tmux" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="aws" /><title>TMUX on Amazon Linux (EC2)</title><content type="html">Installing TMUX 1.6 on Amazon Linux:
&lt;script src="https://gist.github.com/2510356.js?file=TMUXonEC2.sh"&gt;&lt;/script&gt;

a fix if you get
&lt;pre&gt;
cmd-load-buffer.o cmd-load-buffer.c
cmd-load-buffer.c: In function ‘cmd_load_buffer_exec’:
cmd-load-buffer.c:93: warning: implicit declaration of function ‘bufferevent_enable’
cmd-load-buffer.c: In function ‘cmd_load_buffer_callback’:
cmd-load-buffer.c:170: warning: implicit declaration of function ‘EVBUFFER_LENGTH’
cmd-load-buffer.c:170: error: dereferencing pointer to incomplete type
cmd-load-buffer.c:175: warning: implicit declaration of function ‘bufferevent_read’
cmd-load-buffer.c:183: warning: implicit declaration of function ‘evbuffer_add_printf’
cmd-load-buffer.c:184: error: dereferencing pointer to incomplete type
make: *** [cmd-load-buffer.o] Error 1 
&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/1ilte21ovFA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/8742199724290127107/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=8742199724290127107" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/8742199724290127107?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/8742199724290127107?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/1ilte21ovFA/tmux-on-amazon-linux-ec2.html" title="TMUX on Amazon Linux (EC2)" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2012/04/tmux-on-amazon-linux-ec2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUHRXc4cSp7ImA9WhRXFk4.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-70513247303382853</id><published>2011-12-23T09:35:00.001Z</published><updated>2011-12-23T09:57:14.939Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-23T09:57:14.939Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ec2" /><category scheme="http://www.blogger.com/atom/ns#" term="errors" /><category scheme="http://www.blogger.com/atom/ns#" term="weighttp" /><category scheme="http://www.blogger.com/atom/ns#" term="aws" /><title>Installing weighttp on AWS/EC2: ev library not found</title><content type="html">&lt;span style="font-family: inherit;"&gt;when installing weighttp on AWS EC2 using the Amazon Linux AMI you might get errors such as:&lt;/span&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;"ev library not found." when running ./waf configure
or&lt;/li&gt;
&lt;li&gt;libev.so.4 not being found&lt;/li&gt;
&lt;/ul&gt;
This series of steps fixed it for me:&lt;br /&gt;
&lt;script src="https://gist.github.com/1513767.js"&gt; &lt;/script&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/wypPHKeP13Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/70513247303382853/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=70513247303382853" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/70513247303382853?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/70513247303382853?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/wypPHKeP13Y/installing-weighttp-on-awsec2-ev.html" title="Installing weighttp on AWS/EC2: ev library not found" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/12/installing-weighttp-on-awsec2-ev.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8FQXY_fip7ImA9WhRSF04.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-9178431658949825180</id><published>2011-11-19T21:23:00.001Z</published><updated>2011-11-19T21:40:10.846Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-19T21:40:10.846Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance google analytics ads" /><title>Sutton with analytics</title><content type="html">&lt;a href="http://sutton.chart.is/"&gt;Sutton&lt;/a&gt;: a website to test performance &amp;amp; seo has not reach #1 yet :-)&lt;br /&gt;
&lt;br /&gt;
The next stage is to get more information about visits, before adding google analytics the page performed something like &lt;a href="http://www.webpagetest.org/result/110830_GQ_1F0RH/"&gt;this&lt;/a&gt;:&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #4e2800; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div id="average" style="text-align: center;"&gt;
&lt;br /&gt;
&lt;table align="center" border="1" cellpadding="10" cellspacing="0" class="pretty" id="tableResults" style="background-color: white; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 0px; border-collapse: collapse; border-left-color: white; border-left-style: solid; border-left-width: 0px; border-right-color: white; border-right-style: solid; border-right-width: 0px; border-top-color: white; border-top-style: solid; border-top-width: 0px; margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: white; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="empty" colspan="4" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Document Complete&lt;/span&gt;&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Fully Loaded&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Load Time&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;First Byte&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Start Render&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;DOM Elements&lt;/span&gt;&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Time&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Requests&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Bytes In&lt;/span&gt;&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Time&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Requests&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Bytes In&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;First View&lt;/span&gt;&lt;/td&gt;&lt;td id="fvLoadTime" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.355s&lt;/span&gt;&lt;/td&gt;&lt;td id="fvTTFB" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.321s&lt;/span&gt;&lt;/td&gt;&lt;td id="fvStartRender" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.383s&lt;/span&gt;&lt;/td&gt;&lt;td id="fvDomElements" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;31&lt;/span&gt;&lt;/td&gt;&lt;td class="border" id="fvDocComplete" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.355s&lt;/span&gt;&lt;/td&gt;&lt;td id="fvRequestsDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td id="fvBytesDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;3 KB&lt;/span&gt;&lt;/td&gt;&lt;td class="border" id="fvFullyLoaded" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.597s&lt;/span&gt;&lt;/td&gt;&lt;td id="fvRequests" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td id="fvBytes" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;8 KB&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" class="even" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Repeat View&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvLoadTime" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.279s&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvTTFB" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.240s&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvStartRender" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.259s&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvDomElements" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;31&lt;/span&gt;&lt;/td&gt;&lt;td class="even border" id="rvDocComplete" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.279s&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvRequestsDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvBytesDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;3 KB&lt;/span&gt;&lt;/td&gt;&lt;td class="even border" id="rvFullyLoaded" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.290s&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvRequests" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvBytes" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;3 KB&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div id="tables" style="text-align: left;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
After adding it looked performed like this:&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;table align="center" border="1" cellpadding="10" cellspacing="0" class="pretty" id="tableResults" style="background-color: white; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 0px; border-collapse: collapse; border-left-color: white; border-left-style: solid; border-left-width: 0px; border-right-color: white; border-right-style: solid; border-right-width: 0px; border-top-color: white; border-top-style: solid; border-top-width: 0px; margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: white; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="empty" colspan="4" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Document Complete&lt;/span&gt;&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Fully Loaded&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Load Time&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;First Byte&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Start Render&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;DOM Elements&lt;/span&gt;&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Time&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Requests&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Bytes In&lt;/span&gt;&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Time&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Requests&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Bytes In&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;First View&lt;/span&gt;&lt;/td&gt;&lt;td id="fvLoadTime" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.364s&lt;/span&gt;&lt;/td&gt;&lt;td id="fvTTFB" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.331s&lt;/span&gt;&lt;/td&gt;&lt;td id="fvStartRender" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.393s&lt;/span&gt;&lt;/td&gt;&lt;td id="fvDomElements" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;36&lt;/span&gt;&lt;/td&gt;&lt;td class="border" id="fvDocComplete" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.364s&lt;/span&gt;&lt;/td&gt;&lt;td id="fvRequestsDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td id="fvBytesDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;16 KB&lt;/span&gt;&lt;/td&gt;&lt;td class="border" id="fvFullyLoaded" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.687s&lt;/span&gt;&lt;/td&gt;&lt;td id="fvRequests" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td id="fvBytes" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;22 KB&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" class="even" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Repeat View&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvLoadTime" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.338s&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvTTFB" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.225s&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvStartRender" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.369s&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvDomElements" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;36&lt;/span&gt;&lt;/td&gt;&lt;td class="even border" id="rvDocComplete" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.338s&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvRequestsDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvBytesDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;4 KB&lt;/span&gt;&lt;/td&gt;&lt;td class="even border" id="rvFullyLoaded" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;0.498s&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvRequests" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td class="even" id="rvBytes" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;4 KB&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
Overall its looks ok (a few extra KB - hopefully that users have already loaded from visiting other sites), however the repeat view time has crept up by nearly 0.200s, something that is not too surprising with the need to force the client to fetch a non-cacheable&amp;nbsp;tracking image (&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px;"&gt;GET /__utm.gif?...&lt;/span&gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/rugIBMqmbpU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/9178431658949825180/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=9178431658949825180" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/9178431658949825180?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/9178431658949825180?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/rugIBMqmbpU/sutton-with-analytics.html" title="Sutton with analytics" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/11/sutton-with-analytics.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0INR3s_fSp7ImA9WhdXGEo.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-6998136794793103894</id><published>2011-09-01T10:26:00.001+01:00</published><updated>2011-09-01T13:19:56.545+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-01T13:19:56.545+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="aws s3 ec2 golang" /><title>Comparing S3 with EC2 micro instance with go</title><content type="html">Created the same page on both S3 and on an EC2 micro instance running linux &amp;amp; go.&lt;br /&gt;
&lt;br /&gt;
Using Google's web master tools as a bench-marker: the S3 instance is for &lt;a href="http://croydon.chart.is/"&gt;Croydon&lt;/a&gt;:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-MqqS3Q31FZs/Tl9Oq8ip_KI/AAAAAAAABmQ/X5tt8CMLNPk/s1600/chart+croydon.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://3.bp.blogspot.com/-MqqS3Q31FZs/Tl9Oq8ip_KI/AAAAAAAABmQ/X5tt8CMLNPk/s640/chart+croydon.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
And on EC2 micro instance for &lt;a href="http://new-malden.chart.is/"&gt;New Malden&lt;/a&gt;:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-9Tf7bgFcqN8/Tl9O42tl_KI/AAAAAAAABmU/8y79hnyNfXI/s1600/chart+chart.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://2.bp.blogspot.com/-9Tf7bgFcqN8/Tl9O42tl_KI/AAAAAAAABmU/8y79hnyNfXI/s640/chart+chart.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: right;"&gt;
Time spent downloading a page (in milliseconds)&lt;/div&gt;
&lt;br /&gt;
Looks pretty good - this is the instance that&lt;a href="http://blog.figmentengine.com/2011/08/perfomance-of-go-as-web-server-on"&gt;&amp;nbsp;bench-marked&amp;nbsp;well&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
All assets etc are the same, so should be a fair comparison, I'll give it a few days to get a good average.&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/jumg1DXqudY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/6998136794793103894/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=6998136794793103894" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/6998136794793103894?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/6998136794793103894?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/jumg1DXqudY/comparing-s3-with-ec2-micro-instance.html" title="Comparing S3 with EC2 micro instance with go" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-MqqS3Q31FZs/Tl9Oq8ip_KI/AAAAAAAABmQ/X5tt8CMLNPk/s72-c/chart+croydon.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/09/comparing-s3-with-ec2-micro-instance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYAQXwyfCp7ImA9WhdXF08.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-5603874433625917803</id><published>2011-08-30T18:14:00.000+01:00</published><updated>2011-08-30T18:42:20.294+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-30T18:42:20.294+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="amazon aws google performance golang" /><title>Perfomance of Go as a web server on Amazon AWS</title><content type="html">Continuing the series on performance and exploring the &lt;a href="http://golang.org/"&gt;Go language&lt;/a&gt; I wanted to see how many requests/second I could get out of an Amazon micro instance.&lt;br /&gt;
&lt;br /&gt;
I used &lt;a href="http://www.joedog.org/index/siege-home"&gt;Siege&lt;/a&gt; for the testing of the "&lt;a href="http://sutton.chart.is/"&gt;Sutton&lt;/a&gt;" server, and using the same code that gives us this &lt;a href="http://www.webpagetest.org/result/110830_GQ_1F0RH/"&gt;sort of response&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 16px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div id="average" style="text-align: center;"&gt;
&lt;br /&gt;
&lt;table align="center" border="1" cellpadding="10" cellspacing="0" class="pretty" id="tableResults" style="background-color: white; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 0px; border-collapse: collapse; border-left-color: white; border-left-style: solid; border-left-width: 0px; border-right-color: white; border-right-style: solid; border-right-width: 0px; border-top-color: white; border-top-style: solid; border-top-width: 0px; margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: white; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="empty" colspan="4" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Document Complete&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Fully Loaded&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Load Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;First Byte&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Start Render&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;DOM Elements&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Requests&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Bytes In&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Requests&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Bytes In&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;First View&lt;/td&gt;&lt;td id="fvLoadTime" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.355s&lt;/td&gt;&lt;td id="fvTTFB" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.321s&lt;/td&gt;&lt;td id="fvStartRender" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.383s&lt;/td&gt;&lt;td id="fvDomElements" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;31&lt;/td&gt;&lt;td class="border" id="fvDocComplete" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.355s&lt;/td&gt;&lt;td id="fvRequestsDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1&lt;/td&gt;&lt;td id="fvBytesDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;3 KB&lt;/td&gt;&lt;td class="border" id="fvFullyLoaded" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.597s&lt;/td&gt;&lt;td id="fvRequests" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;3&lt;/td&gt;&lt;td id="fvBytes" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;8 KB&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" class="even" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Repeat View&lt;/td&gt;&lt;td class="even" id="rvLoadTime" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.279s&lt;/td&gt;&lt;td class="even" id="rvTTFB" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.240s&lt;/td&gt;&lt;td class="even" id="rvStartRender" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.259s&lt;/td&gt;&lt;td class="even" id="rvDomElements" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;31&lt;/td&gt;&lt;td class="even border" id="rvDocComplete" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.279s&lt;/td&gt;&lt;td class="even" id="rvRequestsDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1&lt;/td&gt;&lt;td class="even" id="rvBytesDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;3 KB&lt;/td&gt;&lt;td class="even border" id="rvFullyLoaded" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.290s&lt;/td&gt;&lt;td class="even" id="rvRequests" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;2&lt;/td&gt;&lt;td class="even" id="rvBytes" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;3 KB&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div id="tables" style="text-align: left;"&gt;
&lt;/div&gt;
&lt;br /&gt;
I also added some caching on the server side, to stop it regenerating the content every time.&lt;br /&gt;
&lt;br /&gt;
Using Siege from a large instance (a small instance could not generate enough requests) I got the following results:&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;$ siege -c 40 -t 20s -d0 http://wimbledon.chart.is&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Lifting the server siege... &amp;nbsp; &amp;nbsp; &amp;nbsp;done.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Transactions:&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 28178 hits&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Availability:&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;100.00 %&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Elapsed time:&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 19.78 secs&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Data transferred:&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 68.07 MB&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;Response time:&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.03 secs&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;Transaction rate:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: yellow;"&gt; &amp;nbsp; &amp;nbsp; 1424.57 trans/sec&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Throughput:&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3.44 MB/sec&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Concurrency:&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 37.69&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Successful transactions: &amp;nbsp; &amp;nbsp; &amp;nbsp; 28178&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Failed transactions:&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Longest transaction:&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1.51&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Shortest transaction:&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.00&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
So over 1,000 requests/second on the smallest AWS instance! the server is running at 100% CPU so some simple performance analysis could yield some significant improvements. Also some more effort around making the benchmark more trustworthy, especially with higher numbers of concurrent requests.&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/-oYOisWB3FA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/5603874433625917803/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=5603874433625917803" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/5603874433625917803?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/5603874433625917803?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/-oYOisWB3FA/perfomance-of-go-as-web-server-on.html" title="Perfomance of Go as a web server on Amazon AWS" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/08/perfomance-of-go-as-web-server-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYGRn0-eyp7ImA9WhdQFk0.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-4482772087140630274</id><published>2011-08-17T12:36:00.003+01:00</published><updated>2011-08-17T19:52:07.353+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-17T19:52:07.353+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="favicon" /><category scheme="http://www.blogger.com/atom/ns#" term="amazon" /><category scheme="http://www.blogger.com/atom/ns#" term="s3" /><category scheme="http://www.blogger.com/atom/ns#" term="chrome" /><title>Hosting favicon.ico on a different server (Amazon S3)</title><content type="html">&lt;div&gt;To increase the performance of our very simple&amp;nbsp;&lt;a href="http://croydon.chart.is/"&gt;Where is Croydon&lt;/a&gt;&amp;nbsp;test site static assets are hosted on S3.&lt;br /&gt;
&lt;br /&gt;
One of the assets that is requested for a site is &lt;a href="http://en.wikipedia.org/wiki/Favicon"&gt;favicon.ico&lt;/a&gt;&amp;nbsp;the icon is used against the site name in browsers (normally to make spotting it among many tabs easier). By default this is requested from the root of the site, however this can be changed by adding:&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;lt;link rel="shortcut icon" href="http://static.chart.is/favicon.ico" /&amp;gt;&lt;/span&gt;&lt;/div&gt;
to each page (head element) on the site.&lt;br /&gt;
&lt;br /&gt;
To host it on S3 requires a bucket matching the domain name, and mapping a CNAME to point to the amazon end-point. In this case using a "static" sub-domain to host these kinds of static assets.&amp;nbsp;&lt;i&gt;Note: if you get "Access Denied" from these its probably because of permissions for "Everyone" to open/download are not set (per asset).&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Doing this means the browser can use a&amp;nbsp;separate&amp;nbsp;connection to&amp;nbsp;retrieve&amp;nbsp;the icon, and therefore process the download in&amp;nbsp;parallel&amp;nbsp;with other content. Its worth considering multiple sub-domains if you have many static assets. This also has the benefit of reducing requests to your site's servers, and improving server-side cache hits as well.&lt;br /&gt;
&lt;br /&gt;
During testing of this a little "feature" of chrome was discovered, it requests "/favicon.ico" from you site if you do a "view page source" - even if you specify a different location.&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/bSuZYs0AMMw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/4482772087140630274/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=4482772087140630274" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/4482772087140630274?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/4482772087140630274?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/bSuZYs0AMMw/hosting-faviconico-on-different-server.html" title="Hosting favicon.ico on a different server (Amazon S3)" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/08/hosting-faviconico-on-different-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04BRHwzeip7ImA9WhdQFUw.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-7970502356783162236</id><published>2011-08-12T15:59:00.005+01:00</published><updated>2011-08-16T17:25:55.282+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-16T17:25:55.282+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="google ads performance aws" /><title>Google Ads Async (asynchronous)</title><content type="html">Making Google Ads asynchronous seems to be critical to&amp;nbsp;achieving&amp;nbsp;better performance, in this post in the continuing series on optimization of sites (&lt;a href="http://blog.figmentengine.com/2011/07/performance-effect-of-google-ads.html"&gt;Performance: the effect of google ads&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://blog.figmentengine.com/2011/08/go-faster-stripes-for-site-performance.html"&gt;Go Faster Stripes for site performance and google ads&lt;/a&gt;), a simple idea has some interesting implications.&lt;br /&gt;
&lt;br /&gt;
The current ad code for &lt;a href="http://croydon.chart.is/"&gt;Where is Croydon&lt;/a&gt; looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;amp;lt;script type="text/javascript"&amp;amp;gt;&amp;amp;lt;!--&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;google_ad_client = "pub-7600935420912685";&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;google_ad_slot = "7690333966";&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;google_ad_width = 336;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;google_ad_height = 280;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;//--&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;amp;lt;/script&amp;amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;amp;lt;script type="text/javascript"&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&amp;amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;amp;lt;/script&amp;amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And performs like &lt;a href="http://www.webpagetest.org/result/110812_62_1A63Z/"&gt;this&lt;/a&gt;:&lt;br /&gt;
&lt;table align="center" border="1" cellpadding="10" cellspacing="0" class="pretty" id="tableResults" style="background-color: white; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 0px; border-collapse: collapse; border-left-color: white; border-left-style: solid; border-left-width: 0px; border-right-color: white; border-right-style: solid; border-right-width: 0px; border-top-color: white; border-top-style: solid; border-top-width: 0px; margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: white; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="empty" colspan="4" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Document Complete&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Fully Loaded&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Load Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;First Byte&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Start Render&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;DOM Elements&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Requests&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Bytes In&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Requests&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Bytes In&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;First View&lt;/td&gt;&lt;td id="fvLoadTime" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.939s&lt;/td&gt;&lt;td id="fvTTFB" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.289s&lt;/td&gt;&lt;td id="fvStartRender" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.426s&lt;/td&gt;&lt;td id="fvDomElements" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;187&lt;/td&gt;&lt;td class="border" id="fvDocComplete" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.939s&lt;/td&gt;&lt;td id="fvRequestsDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;12&lt;/td&gt;&lt;td id="fvBytesDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;52 KB&lt;/td&gt;&lt;td class="border" id="fvFullyLoaded" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;2.438s&lt;/td&gt;&lt;td id="fvRequests" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;14&lt;/td&gt;&lt;td id="fvBytes" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;53 KB&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" class="even" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Repeat View&lt;/td&gt;&lt;td class="even" id="rvLoadTime" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.054s&lt;/td&gt;&lt;td class="even" id="rvTTFB" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.228s&lt;/td&gt;&lt;td class="even" id="rvStartRender" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.574s&lt;/td&gt;&lt;td class="even" id="rvDomElements" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;182&lt;/td&gt;&lt;td class="even border" id="rvDocComplete" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.054s&lt;/td&gt;&lt;td class="even" id="rvRequestsDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;2&lt;/td&gt;&lt;td class="even" id="rvBytesDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;6 KB&lt;/td&gt;&lt;td class="even border" id="rvFullyLoaded" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.054s&lt;/td&gt;&lt;td class="even" id="rvRequests" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;2&lt;/td&gt;&lt;td class="even" id="rvBytes" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;6 KB&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Document complete in about 2 seconds is not good enough, (given our page has nothing on it), and the advert script is going to slow down any other asset downloads (by putting the browser into serial mode).&lt;br /&gt;
&lt;br /&gt;
So how can we fix this? a bit of re-plumbing should fix this, our ad script becomes:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;amp;lt;script type="text/javascript"&amp;amp;gt;&amp;amp;lt;!--&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;google_ad_client = "pub-7600935420912685";&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;google_ad_slot = "7690333966";&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;google_ad_width = 336;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;google_ad_height = 280;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;//--&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;amp;lt;/script&amp;amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;amp;lt;script type="text/javascript"&amp;amp;gt;&amp;amp;lt;!--&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;// dynamically Load Ads out-of-band&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;setTimeout((function ()&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;// placeholder for ads&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var eleAds = document.createElement("ads"); &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // dynamic script element&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var eleScript = document.createElement("script"); &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // remember the implementation of document.write function&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; w = document.write;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // override and replace with our version&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.write = (function(params)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;// replace our placeholder with real ads&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;eleAds.innerHTML = params;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;// put the old implementation back in place&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;document.write=w;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // setup the ads script element&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; eleScript.setAttribute("type", "text/javascript");&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; eleScript.setAttribute("src", "http://pagead2.googlesyndication.com/pagead/show_ads.js");&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // add the two elements, causing the ads script to run&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.body.appendChild(eleAds); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.body.appendChild(eleScript); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;}), 1);&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //--&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;lt;/script&amp;amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How does this work? Google's Ad script is quite "nasty" as it uses &lt;a href="http://stackoverflow.com/questions/802854/why-is-document-write-considered-a-bad-practice"&gt;document.write, generally not a good idea&lt;/a&gt; &amp;nbsp;as it can only be used during page creation. So this script does two things:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;it dynamically inserts the&amp;nbsp;Google&amp;nbsp;ad script, allowing this to be&amp;nbsp;separate&amp;nbsp;from the main page render, hence the rest of the page can load without waiting for the adverts&lt;/li&gt;
&lt;li&gt;it re-plumbs the document.write function to instead add the ads to a placeholder element. If this is not done then the&amp;nbsp;Google&amp;nbsp;code will try to call document.write and it won't output anything as the document is already complete. For completeness the code re-plumbs document.write after the first call, but really there should be no other code calling it.&lt;/li&gt;
&lt;/ol&gt;
Now this code is far from bullet proof, or tested (&lt;a href="http://www.codinghorror.com/blog/2007/03/the-works-on-my-machine-certification-program.html"&gt;WOMM&lt;/a&gt;), but it shows the basic principle - it works only because its specific to the&amp;nbsp;Google&amp;nbsp;code, a more generic solution might need to &lt;a href="http://ejohn.org/blog/xhtml-documentwrite-and-adsense/"&gt;follow this approach&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
What does all this effort &lt;a href="http://www.webpagetest.org/result/110812_91_1A6AP/"&gt;yield&lt;/a&gt; us:&lt;br /&gt;
&lt;table align="center" border="1" cellpadding="10" cellspacing="0" class="pretty" id="tableResults" style="background-color: white; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 0px; border-collapse: collapse; border-left-color: white; border-left-style: solid; border-left-width: 0px; border-right-color: white; border-right-style: solid; border-right-width: 0px; border-top-color: white; border-top-style: solid; border-top-width: 0px; margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: white; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="empty" colspan="4" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Document Complete&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Fully Loaded&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Load Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;First Byte&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Start Render&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;DOM Elements&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Requests&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Bytes In&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Requests&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Bytes In&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;First View&lt;/td&gt;&lt;td id="fvLoadTime" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.484s&lt;/td&gt;&lt;td id="fvTTFB" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.332s&lt;/td&gt;&lt;td id="fvStartRender" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.584s&lt;/td&gt;&lt;td id="fvDomElements" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;191&lt;/td&gt;&lt;td class="border" id="fvDocComplete" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.484s&lt;/td&gt;&lt;td id="fvRequestsDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1&lt;/td&gt;&lt;td id="fvBytesDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;3 KB&lt;/td&gt;&lt;td class="border" id="fvFullyLoaded" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;2.353s&lt;/td&gt;&lt;td id="fvRequests" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;13&lt;/td&gt;&lt;td id="fvBytes" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;55 KB&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" class="even" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Repeat View&lt;/td&gt;&lt;td class="even" id="rvLoadTime" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.347s&lt;/td&gt;&lt;td class="even" id="rvTTFB" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.211s&lt;/td&gt;&lt;td class="even" id="rvStartRender" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.611s&lt;/td&gt;&lt;td class="even" id="rvDomElements" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;186&lt;/td&gt;&lt;td class="even border" id="rvDocComplete" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.347s&lt;/td&gt;&lt;td class="even" id="rvRequestsDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1&lt;/td&gt;&lt;td class="even" id="rvBytesDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0 KB&lt;/td&gt;&lt;td class="even border" id="rvFullyLoaded" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.185s&lt;/td&gt;&lt;td class="even" id="rvRequests" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;2&lt;/td&gt;&lt;td class="even" id="rvBytes" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;6 KB&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Fully loaded has not changed (as expected, we are still loading the same amount), but document complete is massively improved - from 2 seconds to less than half a second. Whilst this might seem to be moving numbers around, it means that the browser can render the rest of the page &lt;b&gt;before&lt;/b&gt;&amp;nbsp;adverts, and since adverts can be very very slow, this can make the site appear much faster.&lt;br /&gt;
&lt;br /&gt;
And for those of you who do want to cheat performance numbers, then changing the &amp;nbsp;"&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;}), 1);&lt;/span&gt;" line to "&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;}), 4000);&lt;/span&gt;" gives you &lt;a href="http://www.webpagetest.org/result/110812_X9_1A6JR/"&gt;this&lt;/a&gt;. A page that is "fully loaded" in 0.39 seconds - this is of course cheating, the adverts appear 4 seconds later, but&amp;nbsp;&lt;a href="https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/quick-start-quide#TOC-Fully-Loaded:"&gt;https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/quick-start-quide#TOC-Fully-Loaded:&lt;/a&gt;&amp;nbsp;looks for 2 seconds of no activity to judged fully loaded time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/DgNgigzoD-A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/7970502356783162236/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=7970502356783162236" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/7970502356783162236?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/7970502356783162236?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/DgNgigzoD-A/google-ads-async-asynchronous.html" title="Google Ads Async (asynchronous)" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/08/google-ads-async-asynchronous.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4GRn4zfSp7ImA9WhdRGUQ.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-4923722136107815250</id><published>2011-08-09T16:17:00.002+01:00</published><updated>2011-08-10T18:22:07.085+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-10T18:22:07.085+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="go performance google ads amazon" /><title>Go Faster Stripes for site performance and google ads</title><content type="html">&lt;br /&gt;
Carrying on our performance experiments with Amazon AWS and Go..&lt;br /&gt;
&lt;br /&gt;
Repeating the same experiments, but comparing EC2 with S3.&lt;br /&gt;
&lt;br /&gt;
S3 looked like this &lt;a href="http://www.webpagetest.org/result/110729_C7_163S2/"&gt;last time&lt;/a&gt;:&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table align="center" border="1" cellpadding="10" cellspacing="0" class="pretty" id="tableResults" style="background-color: white; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 0px; border-collapse: collapse; border-left-color: white; border-left-style: solid; border-left-width: 0px; border-right-color: white; border-right-style: solid; border-right-width: 0px; border-top-color: white; border-top-style: solid; border-top-width: 0px; margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: white; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="empty" colspan="4" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Document Complete&lt;/div&gt;
&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Fully Loaded&lt;/div&gt;
&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Load Time&lt;/div&gt;
&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
First Byte&lt;/div&gt;
&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Start Render&lt;/div&gt;
&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
DOM Elements&lt;/div&gt;
&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Time&lt;/div&gt;
&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Requests&lt;/div&gt;
&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Bytes In&lt;/div&gt;
&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Time&lt;/div&gt;
&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Requests&lt;/div&gt;
&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Bytes In&lt;/div&gt;
&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
First View&lt;/div&gt;
&lt;/td&gt;&lt;td id="fvLoadTime" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
0.518s&lt;/div&gt;
&lt;/td&gt;&lt;td id="fvTTFB" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
0.391s&lt;/div&gt;
&lt;/td&gt;&lt;td id="fvStartRender" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
0.000s&lt;/div&gt;
&lt;/td&gt;&lt;td id="fvDomElements" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
14&lt;/div&gt;
&lt;/td&gt;&lt;td class="border" id="fvDocComplete" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
0.518s&lt;/div&gt;
&lt;/td&gt;&lt;td id="fvRequestsDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
1&lt;/div&gt;
&lt;/td&gt;&lt;td id="fvBytesDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
1 KB&lt;/div&gt;
&lt;/td&gt;&lt;td class="border" id="fvFullyLoaded" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
0.518s&lt;/div&gt;
&lt;/td&gt;&lt;td id="fvRequests" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
1&lt;/div&gt;
&lt;/td&gt;&lt;td id="fvBytes" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
1 KB&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" class="even" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Repeat View&lt;/div&gt;
&lt;/td&gt;&lt;td class="even" id="rvLoadTime" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
0.363s&lt;/div&gt;
&lt;/td&gt;&lt;td class="even" id="rvTTFB" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
0.237s&lt;/div&gt;
&lt;/td&gt;&lt;td class="even" id="rvStartRender" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
0.000s&lt;/div&gt;
&lt;/td&gt;&lt;td class="even" id="rvDomElements" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
14&lt;/div&gt;
&lt;/td&gt;&lt;td class="even border" id="rvDocComplete" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
0.363s&lt;/div&gt;
&lt;/td&gt;&lt;td class="even" id="rvRequestsDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
1&lt;/div&gt;
&lt;/td&gt;&lt;td class="even" id="rvBytesDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
0 KB&lt;/div&gt;
&lt;/td&gt;&lt;td class="even border" id="rvFullyLoaded" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
0.363s&lt;/div&gt;
&lt;/td&gt;&lt;td class="even" id="rvRequests" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
1&lt;/div&gt;
&lt;/td&gt;&lt;td class="even" id="rvBytes" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
0 KB&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Document complete in under half a second, with TTFB of 0.391s and document complete 0.518s&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
These look pretty respectable, but now compare with an EC2 instance (t1.large linux) using Google Go language as a HTTP server&lt;/div&gt;
&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;br class="Apple-interchange-newline" /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;table align="center" border="1" cellpadding="10" cellspacing="0" class="pretty" id="tableResults" style="background-color: white; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 0px; border-collapse: collapse; border-left-color: white; border-left-style: solid; border-left-width: 0px; border-right-color: white; border-right-style: solid; border-right-width: 0px; border-top-color: white; border-top-style: solid; border-top-width: 0px; margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: white; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="empty" colspan="4" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Document Complete&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Fully Loaded&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Load Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;First Byte&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Start Render&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;DOM Elements&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Requests&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Bytes In&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Requests&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Bytes In&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;First View&lt;/td&gt;&lt;td id="fvLoadTime" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.342s&lt;/td&gt;&lt;td id="fvTTFB" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.212s&lt;/td&gt;&lt;td id="fvStartRender" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.000s&lt;/td&gt;&lt;td id="fvDomElements" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;14&lt;/td&gt;&lt;td class="border" id="fvDocComplete" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.342s&lt;/td&gt;&lt;td id="fvRequestsDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1&lt;/td&gt;&lt;td id="fvBytesDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1 KB&lt;/td&gt;&lt;td class="border" id="fvFullyLoaded" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.342s&lt;/td&gt;&lt;td id="fvRequests" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1&lt;/td&gt;&lt;td id="fvBytes" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1 KB&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" class="even" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Repeat View&lt;/td&gt;&lt;td class="even" id="rvLoadTime" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.389s&lt;/td&gt;&lt;td class="even" id="rvTTFB" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.224s&lt;/td&gt;&lt;td class="even" id="rvStartRender" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.000s&lt;/td&gt;&lt;td class="even" id="rvDomElements" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;14&lt;/td&gt;&lt;td class="even border" id="rvDocComplete" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.389s&lt;/td&gt;&lt;td class="even" id="rvRequestsDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1&lt;/td&gt;&lt;td class="even" id="rvBytesDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1 KB&lt;/td&gt;&lt;td class="even border" id="rvFullyLoaded" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.389s&lt;/td&gt;&lt;td class="even" id="rvRequests" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1&lt;/td&gt;&lt;td class="even" id="rvBytes" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1 KB&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div id="download" style="clear: both; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px; text-align: right;"&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
Faster across the board - TTFB has halved to 0.212s and this is time saved off document complete and fully loaded. I was expecting that S3 would be very fast at serving static content, and its looks reasonable, but compared to this single server (large admittedly) its a fair % slower.&lt;br /&gt;
&lt;br /&gt;
Now what happens with Google adverts? we get a similar &lt;a href="http://blog.figmentengine.com/2011/07/performance-effect-of-google-ads.html"&gt;google ads penalty&lt;/a&gt; to last time, 1.5s penalty on document complete and fully loaded:&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" border="1" cellpadding="10" cellspacing="0" class="pretty" id="tableResults" style="background-color: white; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 0px; border-collapse: collapse; border-left-color: white; border-left-style: solid; border-left-width: 0px; border-right-color: white; border-right-style: solid; border-right-width: 0px; border-top-color: white; border-top-style: solid; border-top-width: 0px; margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: white; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="empty" colspan="4" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Document Complete&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Fully Loaded&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Load Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;First Byte&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Start Render&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;DOM Elements&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Requests&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Bytes In&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Requests&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Bytes In&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;First View&lt;/td&gt;&lt;td id="fvLoadTime" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.582s&lt;/td&gt;&lt;td id="fvTTFB" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.283s&lt;/td&gt;&lt;td id="fvStartRender" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.411s&lt;/td&gt;&lt;td id="fvDomElements" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;175&lt;/td&gt;&lt;td class="border" id="fvDocComplete" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.582s&lt;/td&gt;&lt;td id="fvRequestsDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;10&lt;/td&gt;&lt;td id="fvBytesDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;51 KB&lt;/td&gt;&lt;td class="border" id="fvFullyLoaded" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.582s&lt;/td&gt;&lt;td id="fvRequests" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;10&lt;/td&gt;&lt;td id="fvBytes" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;51 KB&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" class="even" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Repeat View&lt;/td&gt;&lt;td class="even" id="rvLoadTime" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.184s&lt;/td&gt;&lt;td class="even" id="rvTTFB" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.210s&lt;/td&gt;&lt;td class="even" id="rvStartRender" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.523s&lt;/td&gt;&lt;td class="even" id="rvDomElements" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;175&lt;/td&gt;&lt;td class="even border" id="rvDocComplete" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.184s&lt;/td&gt;&lt;td class="even" id="rvRequestsDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;2&lt;/td&gt;&lt;td class="even" id="rvBytesDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;6 KB&lt;/td&gt;&lt;td class="even border" id="rvFullyLoaded" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.184s&lt;/td&gt;&lt;td class="even" id="rvRequests" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;2&lt;/td&gt;&lt;td class="even" id="rvBytes" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;6 KB&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Whats hidden in these numbers is a little gem - the ~0.200s saved using the EC2 instance is still there, i.e. this performs ~0.200s faster than S3 even when using Google Ads.&lt;br /&gt;
&lt;br /&gt;
So even if you have a very heavy page, and are using CDN or other techniques to speed things up, &lt;b&gt;you really need to see if you can get your TTFB down&lt;/b&gt; - and that may mean looking at async HTTP servers such as Go or Node.js&lt;br /&gt;
&lt;br /&gt;
Here is the Go code for this example (the HTML is literal using back-quotes `), based on one of the &lt;a href="http://wh3rd.net/practical-go/#(15)"&gt;Go examples&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;package main&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;import (&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "fmt"&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "http"&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;func Hello(w http.ResponseWriter, r *http.Request) {&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fmt.Fprintf(w,&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;`&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;amp;lt;!doctype html&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;amp;lt;html lang="en-GB"&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;amp;lt;head&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;amp;lt;meta charset="utf-8"&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;amp;lt;title&amp;amp;gt;Croydon&amp;amp;lt;/title&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;amp;lt;meta name="description" content="Croydon"&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;amp;lt;/head&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;amp;lt;body&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;lt;article&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;lt;p&amp;amp;gt;Croydon&amp;amp;lt;/p&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;lt;p&amp;amp;gt;Information on Croydon: shops, restaurants, property, schools, council &amp;amp;amp;amp; government&amp;amp;lt;/p&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;lt;/article&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;lt;script type="text/javascript"&amp;amp;gt;&amp;amp;lt;!--&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; google_ad_client = "pub-7600935420912685";&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; google_ad_slot = "7690333966";&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; google_ad_width = 336;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; google_ad_height = 280;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //--&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;lt;/script&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;lt;script type="text/javascript"&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;lt;/script&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;amp;lt;/body&amp;amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;amp;lt;/html&amp;amp;gt;`)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;func main() &amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; http.HandleFunc("/", Hello)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; http.ListenAndServe(":8080", nil)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
Note that the previous tests were rerun to ensure no significant variance in timings. The next set of test will be to see if we can keep sub-0.300s for template based content (as opposed to hard-coded HTML)&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/IepGENr-0GM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/4923722136107815250/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=4923722136107815250" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/4923722136107815250?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/4923722136107815250?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/IepGENr-0GM/go-faster-stripes-for-site-performance.html" title="Go Faster Stripes for site performance and google ads" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/08/go-faster-stripes-for-site-performance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIHSHk8fip7ImA9WhdREUQ.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-6721189369568880155</id><published>2011-08-01T12:18:00.003+01:00</published><updated>2011-08-01T12:18:59.776+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-01T12:18:59.776+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gmail alias swaks" /><title>Don't use Google Mail to test email aliases: sent mails vanish</title><content type="html">If you setup a new email alias and want to test it then don't use Google Mail.&lt;br /&gt;
&lt;br /&gt;
In order to save space gmail does not store duplicate messages, so messages sent to an alias that are redirected to your gmail account (via pop etc) simply vanish.&lt;br /&gt;
&lt;br /&gt;
If you check the gmail logs (settings, accounts and import, view history) you can see it fetched the email, but then it simply discards it.&lt;br /&gt;
&lt;br /&gt;
So its best to send the email using a&amp;nbsp;separate&amp;nbsp;client (such as &lt;a href="http://jetmore.org/john/code/swaks/"&gt;swaks&lt;/a&gt;), this problem also appears with &lt;a href="http://www.google.com/support/forum/p/gmail/thread?tid=639f3e4e523df741&amp;amp;hl=en"&gt;sub-domains&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/rUvMQ_iaTvs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/6721189369568880155/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=6721189369568880155" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/6721189369568880155?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/6721189369568880155?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/rUvMQ_iaTvs/dont-use-google-mail-to-test-email.html" title="Don't use Google Mail to test email aliases: sent mails vanish" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/08/dont-use-google-mail-to-test-email.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMCRXg8fSp7ImA9WhdSGUg.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-6798239297072856603</id><published>2011-07-29T16:09:00.002+01:00</published><updated>2011-07-29T16:14:24.675+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-29T16:14:24.675+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="amazon aws google ads performance" /><title>Performance: the effect of google ads</title><content type="html">I've created a test page (on the subject of &lt;a href="http://croydon.chart.is/"&gt;croydon&lt;/a&gt;) that is hosted on Amazon's S3 as a static site. This is part of a series of tests I'm doing to see how best to use AWS and other technologies (mongoDB &amp;amp; Go), and how performance effects ranking (more on this in a later blog).&lt;br /&gt;
&lt;br /&gt;
I'm expecting some delays due to the DNS setup, but the&lt;a href="http://www.webpagetest.org/result/110729_C7_163S2/"&gt; first test&lt;/a&gt; looks pretty good&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;table align="center" border="1" cellpadding="10" cellspacing="0" class="pretty" id="tableResults" style="background-color: white; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 0px; border-collapse: collapse; border-left-color: white; border-left-style: solid; border-left-width: 0px; border-right-color: white; border-right-style: solid; border-right-width: 0px; border-top-color: white; border-top-style: solid; border-top-width: 0px; margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: white; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="empty" colspan="4" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Document Complete&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Fully Loaded&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Load Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;First Byte&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Start Render&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;DOM Elements&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Requests&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Bytes In&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Requests&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Bytes In&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;First View&lt;/td&gt;&lt;td id="fvLoadTime" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.518s&lt;/td&gt;&lt;td id="fvTTFB" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.391s&lt;/td&gt;&lt;td id="fvStartRender" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.000s&lt;/td&gt;&lt;td id="fvDomElements" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;14&lt;/td&gt;&lt;td class="border" id="fvDocComplete" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.518s&lt;/td&gt;&lt;td id="fvRequestsDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1&lt;/td&gt;&lt;td id="fvBytesDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1 KB&lt;/td&gt;&lt;td class="border" id="fvFullyLoaded" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.518s&lt;/td&gt;&lt;td id="fvRequests" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1&lt;/td&gt;&lt;td id="fvBytes" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1 KB&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" class="even" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Repeat View&lt;/td&gt;&lt;td class="even" id="rvLoadTime" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.363s&lt;/td&gt;&lt;td class="even" id="rvTTFB" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.237s&lt;/td&gt;&lt;td class="even" id="rvStartRender" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.000s&lt;/td&gt;&lt;td class="even" id="rvDomElements" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;14&lt;/td&gt;&lt;td class="even border" id="rvDocComplete" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.363s&lt;/td&gt;&lt;td class="even" id="rvRequestsDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1&lt;/td&gt;&lt;td class="even" id="rvBytesDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0 KB&lt;/td&gt;&lt;td class="even border" id="rvFullyLoaded" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.363s&lt;/td&gt;&lt;td class="even" id="rvRequests" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1&lt;/td&gt;&lt;td class="even" id="rvBytes" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0 KB&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
Document complete in under half a second, and fully loaded about the same! - this shows how fast Amazon's AWS is for this kind of simple site (and it took minutes to set up as well)&lt;br /&gt;
&lt;br /&gt;
Now looks what happens when we add some google JavaScript for&amp;nbsp;the&amp;nbsp;&lt;a href="http://www.webpagetest.org/result/110729_E8_163W1/"&gt;second test&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #666666; font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &lt;script &lt;="" font="" type="text/javascript"&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font class="Apple-style-span" face="'Courier New', Courier, monospace" color="#666666"&gt;&amp;nbsp; &amp;nbsp; src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
&lt;font class="Apple-style-span" face="'Courier New', Courier, monospace" color="#666666"&gt;&amp;nbsp; 
&lt;/script&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="cleared" style="clear: both; color: #222222; display: block; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px;"&gt;
&lt;/div&gt;
&lt;div id="average" style="color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px; text-align: center;"&gt;
&lt;table align="center" border="1" cellpadding="10" cellspacing="0" class="pretty" id="tableResults" style="background-color: white; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 0px; border-collapse: collapse; border-left-color: white; border-left-style: solid; border-left-width: 0px; border-right-color: white; border-right-style: solid; border-right-width: 0px; border-top-color: white; border-top-style: solid; border-top-width: 0px; margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: white; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: white; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="empty" colspan="4" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Document Complete&lt;/th&gt;&lt;th align="center" class="border" colspan="3" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Fully Loaded&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th align="center" class="empty" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: white; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Load Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;First Byte&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Start Render&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;DOM Elements&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Requests&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Bytes In&lt;/th&gt;&lt;th align="center" class="border" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Time&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Requests&lt;/th&gt;&lt;th align="center" style="background-attachment: initial; background-clip: initial; background-color: gainsboro; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Bytes In&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;First View&lt;/td&gt;&lt;td id="fvLoadTime" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;2.251s&lt;/td&gt;&lt;td id="fvTTFB" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.382s&lt;/td&gt;&lt;td id="fvStartRender" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.703s&lt;/td&gt;&lt;td id="fvDomElements" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;173&lt;/td&gt;&lt;td class="border" id="fvDocComplete" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;2.251s&lt;/td&gt;&lt;td id="fvRequestsDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;11&lt;/td&gt;&lt;td id="fvBytesDoc" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;51 KB&lt;/td&gt;&lt;td class="border" id="fvFullyLoaded" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;2.251s&lt;/td&gt;&lt;td id="fvRequests" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;11&lt;/td&gt;&lt;td id="fvBytes" style="border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;51 KB&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left" class="even" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;Repeat View&lt;/td&gt;&lt;td class="even" id="rvLoadTime" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.046s&lt;/td&gt;&lt;td class="even" id="rvTTFB" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.264s&lt;/td&gt;&lt;td class="even" id="rvStartRender" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;0.552s&lt;/td&gt;&lt;td class="even" id="rvDomElements" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;173&lt;/td&gt;&lt;td class="even border" id="rvDocComplete" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.046s&lt;/td&gt;&lt;td class="even" id="rvRequestsDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;2&lt;/td&gt;&lt;td class="even" id="rvBytesDoc" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;6 KB&lt;/td&gt;&lt;td class="even border" id="rvFullyLoaded" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: black; border-left-style: solid; border-left-width: 2px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;1.046s&lt;/td&gt;&lt;td class="even" id="rvRequests" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;2&lt;/td&gt;&lt;td class="even" id="rvBytes" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: silver; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: silver; border-left-style: solid; border-left-width: 1px; border-right-color: silver; border-right-style: solid; border-right-width: 1px; border-top-color: silver; border-top-style: solid; border-top-width: 1px; padding-bottom: 0.4em; padding-left: 0.4em; padding-right: 0.4em; padding-top: 0.4em; text-align: center;" valign="middle"&gt;6 KB&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Document complete is now over 2 1/4 seconds, that seems a heavy price in performance to pay - and as a website owner there is little you can do about this, an irony as &lt;a href="http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html"&gt;Google ranks faster performing sites higher&lt;/a&gt;.&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/xHiMyuHdt-M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/6798239297072856603/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=6798239297072856603" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/6798239297072856603?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/6798239297072856603?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/xHiMyuHdt-M/performance-effect-of-google-ads.html" title="Performance: the effect of google ads" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/07/performance-effect-of-google-ads.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04AQn88cSp7ImA9WhZQGUo.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-4116837667355156830</id><published>2011-04-28T09:35:00.001+01:00</published><updated>2011-04-28T09:39:03.179+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-28T09:39:03.179+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="standards w3c uml" /><title>XML for UML State diagrams</title><content type="html">&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;W3C again...&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;"&lt;/span&gt;..&lt;span class="Apple-style-span" style="font-family: sans-serif;"&gt;Harel State Tables are a state machine notation that was developed by the mathematician David Harel&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif;"&gt;&lt;a href="http://www.w3.org/TR/2011/WD-scxml-20110426/#Harel_Politi" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0000cc;"&gt;[Harel and Politi]&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif;"&gt;and is included in UML&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif;"&gt;&lt;a href="http://www.w3.org/TR/2011/WD-scxml-20110426/#UML" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0000cc;"&gt;[UML 2.3]&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif;"&gt;. They offer a clean and well-thought out semantics for sophisticated constructs such as a parallel states. They have been defined as a graphical specification language, however, and hence do not have an XML representation. The goal of this document is to combine Harel semantics with an XML syntax that is a logical extension of CCXML's state and event notation..&lt;/span&gt;"&lt;/blockquote&gt;&lt;div style="text-align: right;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit; font-size: x-small;"&gt;&lt;a href="http://www.w3.org/TR/2011/WD-scxml-20110426/"&gt;State Chart XML (SCXML): State Machine Notation for Control Abstraction&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I like the m&lt;a href="http://www.w3.org/TR/2011/WD-scxml-20110426/#N1182D"&gt;icrowave example&lt;/a&gt;:&lt;br /&gt;
&lt;div style="text-align: left;"&gt;&lt;pre&gt;&amp;lt;scxml datamodel="ecmascript" initial="off" version="1.0" xmlns="http://www.w3.org/2005/07/scxml"&amp;gt;

  
  &amp;lt;datamodel&amp;gt;
    &amp;lt;data expr="5" id="cook_time"&amp;gt;
    &amp;lt;data expr="true" id="door_closed"&amp;gt;
    &amp;lt;data expr="0" id="timer"&amp;gt;
  &amp;lt;/data&amp;gt;&amp;lt;/data&amp;gt;&amp;lt;/data&amp;gt;&amp;lt;/datamodel&amp;gt;

  &amp;lt;state id="off"&amp;gt;
    
    &amp;lt;transition event="turn.on" target="on"&amp;gt;
  &amp;lt;/transition&amp;gt;&amp;lt;/state&amp;gt;

  &amp;lt;state id="on"&amp;gt;
    &amp;lt;initial&amp;gt;
        &amp;lt;transition target="idle"&amp;gt;
    &amp;lt;/transition&amp;gt;&amp;lt;/initial&amp;gt;
    

    &amp;lt;transition event="turn.off" target="off"&amp;gt;
    &amp;lt;transition cond="timer &amp;gt;= cook_time" target="off"&amp;gt;

    &amp;lt;state id="idle"&amp;gt;
      
      &amp;lt;transition cond="door_closed" target="cooking"&amp;gt;
      &amp;lt;transition event="door.close" target="cooking"&amp;gt;
        &amp;lt;assign expr="true" location="door_closed"&amp;gt;
        
      &amp;lt;/assign&amp;gt;&amp;lt;/transition&amp;gt;
    &amp;lt;/transition&amp;gt;&amp;lt;/state&amp;gt;

    &amp;lt;state id="cooking"&amp;gt;
      &amp;lt;transition event="door.open" target="idle"&amp;gt;
        &amp;lt;assign expr="false" location="door_closed"&amp;gt;
      &amp;lt;/assign&amp;gt;&amp;lt;/transition&amp;gt;

      
      &amp;lt;transition event="time"&amp;gt;
        &amp;lt;assign expr="timer + 1" location="timer"&amp;gt;
      &amp;lt;/assign&amp;gt;&amp;lt;/transition&amp;gt;
    &amp;lt;/state&amp;gt;

  &amp;lt;/transition&amp;gt;&amp;lt;/transition&amp;gt;&amp;lt;/state&amp;gt;

&amp;lt;/scxml&amp;gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/SPRwwvF7f7I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/4116837667355156830/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=4116837667355156830" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/4116837667355156830?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/4116837667355156830?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/SPRwwvF7f7I/xml-for-uml-state-diagrams.html" title="XML for UML State diagrams" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/04/xml-for-uml-state-diagrams.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEHQnc-cCp7ImA9WhZQGUo.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-2895326150319076067</id><published>2011-04-28T09:16:00.001+01:00</published><updated>2011-04-28T09:17:13.958+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-28T09:17:13.958+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="standards w3c" /><title>The Ubiquitous W3C: Battery standards</title><content type="html">&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Batteries? wow!&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I saw this release from the W3C and it made me sit up:&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: inherit;"&gt;"&lt;span class="Apple-style-span" style="color: #666666;"&gt;The&amp;nbsp;&lt;a href="http://www.w3.org/2009/dap/" target="_blank"&gt;Device APIs and Policy Working Group&lt;/a&gt;&amp;nbsp;has published the First Public Working Draft of&amp;nbsp;&lt;a href="http://www.w3.org/TR/2011/WD-battery-status-20110426/" target="_blank"&gt;Battery Status Event Specification&lt;/a&gt;. This specification provides tools for developers to access device battery status (charge level, time remaining, etc.) within Web Applications. This specification defines a new DOM event type that provides information about the battery status of the hosting device and associated auxiliary devices. Learn more about the&lt;a href="http://www.w3.org/2007/uwa/" target="_blank"&gt;Ubiquitous Web Applications Activity&lt;/a&gt;.&lt;/span&gt;"&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
why? because I thought - &lt;i&gt;why is the W3C publishing standards about batteries at all?&lt;/i&gt; W3C stands for "World Wide Web Consortium", yet here we are looking at how to monitor battery status within a web page.&lt;br /&gt;
&lt;br /&gt;
it just show you how&amp;nbsp;&lt;span class="Apple-style-span" style="color: #003399; font-family: 'Arial Narrow', sans-serif; font-size: 21px; font-weight: bold;"&gt;&lt;a href="http://www.w3.org/2007/uwa/"&gt;Ubiquitous&lt;/a&gt;&lt;/span&gt;&amp;nbsp;they are trying to be!&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/CWYRVx3NHQQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/2895326150319076067/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=2895326150319076067" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/2895326150319076067?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/2895326150319076067?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/CWYRVx3NHQQ/ubiquitous-w3c-battery-standards.html" title="The Ubiquitous W3C: Battery standards" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/04/ubiquitous-w3c-battery-standards.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4EQH0-eyp7ImA9WhZRGEU.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-5609042102987571762</id><published>2011-04-15T16:55:00.000+01:00</published><updated>2011-04-15T16:55:01.353+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-15T16:55:01.353+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="image" /><title>OCD</title><content type="html">&lt;div class="separator" style="clear: both; text-align: left;"&gt;love these&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-CcsZLxIwBiE/TahqLSCERzI/AAAAAAAAARs/oDf0UgokiWs/s1600/OCD-500x707.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/-CcsZLxIwBiE/TahqLSCERzI/AAAAAAAAARs/oDf0UgokiWs/s640/OCD-500x707.jpg" width="451" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;&lt;a href="http://www.adaptcreative.co.uk/2010/08/mental-disorder-posters/"&gt;http://www.adaptcreative.co.uk/2010/08/mental-disorder-posters/&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/1v889V8kGw0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/5609042102987571762/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=5609042102987571762" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/5609042102987571762?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/5609042102987571762?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/1v889V8kGw0/ocd.html" title="OCD" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-CcsZLxIwBiE/TahqLSCERzI/AAAAAAAAARs/oDf0UgokiWs/s72-c/OCD-500x707.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/04/ocd.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEDQn45fSp7ImA9WhZRGEU.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-8795912592623678184</id><published>2011-04-15T16:51:00.000+01:00</published><updated>2011-04-15T16:51:13.025+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-15T16:51:13.025+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="doh" /><title>Print before reading</title><content type="html">&lt;span class="Apple-style-span" style="color: #111111; font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;especially when you print an email out, and you get an extra page with "please think about the environment before you print this..."&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #111111; font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://media.economist.com/sites/all/themes/econfinal/images/the-economist-logo.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://media.economist.com/sites/all/themes/econfinal/images/the-economist-logo.gif" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="color: #111111; font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 15px;"&gt;I wonder how much energy is waster by sending these extra bytes around the internet...&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.economist.com/node/18529895" rel="nofollow" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #01317e; font-style: inherit; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Spare us the e-mail yada-yada&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #4c4c4c; font-style: inherit; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 3px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; width: 341px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;http://www.economist.com/node/18529895&lt;/span&gt;&lt;br /&gt;
“IF THIS e-mail is received in error, notify the sender immediately.” “This e-mail does not create an attorney-client relationship.” “Any tax advice in this e-mail is not intended to be used for the purpose of avoiding penalt...&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/_3TeWNix9rs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/8795912592623678184/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=8795912592623678184" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/8795912592623678184?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/8795912592623678184?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/_3TeWNix9rs/print-before-reading.html" title="Print before reading" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/04/print-before-reading.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYERH0_fCp7ImA9WhZRGEo.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-88815673783956777</id><published>2011-04-15T14:11:00.000+01:00</published><updated>2011-04-15T14:11:45.344+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-15T14:11:45.344+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="quote" /><title>If it's complex it can't work until it's empty</title><content type="html">&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Amazing quote&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: 16px; line-height: 22px;"&gt;An aside, what made all these things work so well is that they were empty inside. Almost skeletal. Hard to believe there isn't more to it. I asked one of my mentors how this could be and he said it&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 16px; line-height: 22px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 16px; line-height: 22px;"&gt;&lt;i&gt;has&lt;/i&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 16px; line-height: 22px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 16px; line-height: 22px;"&gt;to be that way. &lt;span class="Apple-style-span" style="background-color: yellow;"&gt;If it's complex it can't work until it's empty&lt;/span&gt;. These days we have another way to describe this, my friend and former colleague David Weinberger called it&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 16px; line-height: 22px;"&gt;&lt;a href="http://www.smallpieces.com/"&gt;Small Pieces, Loosely Joined&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 16px; line-height: 22px;"&gt;. I've never heard a better description of the architecture of the Internet.&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="text-align: right;"&gt;&lt;a href="http://scripting.com/stories/2011/04/15/letsBuildANewInternetInAca.html#p6247"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;http://scripting.com/stories/2011/04/15/letsBuildANewInternetInAca.html#p6247&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;must be a line from blade runner...&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/AFcxpdgyFe0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/88815673783956777/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=88815673783956777" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/88815673783956777?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/88815673783956777?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/AFcxpdgyFe0/if-its-complex-it-cant-work-until-its.html" title="If it's complex it can't work until it's empty" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/04/if-its-complex-it-cant-work-until-its.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYNRnwzcCp7ImA9WhZRGEg.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-7415974649126740130</id><published>2011-04-15T09:29:00.000+01:00</published><updated>2011-04-15T09:29:57.288+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-15T09:29:57.288+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="wars" /><category scheme="http://www.blogger.com/atom/ns#" term="fedora" /><category scheme="http://www.blogger.com/atom/ns#" term="postfix" /><title>Cloud Providers the new war: It Depends</title><content type="html">&lt;div&gt;&lt;span class="680295707-15042011"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Some  interesting reading about rackspace vs AWS in terms of  price/performance&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="680295707-15042011"&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://gasoftwareblog.com/home/2011/3/31/amazon-ec2-vs-rackspace-are-all-cloud-hosting-services-the-s.html" title="blocked::http://gasoftwareblog.com/home/2011/3/31/amazon-ec2-vs-rackspace-are-all-cloud-hosting-services-the-s.html"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;http://gasoftwareblog.com/home/2011/3/31/amazon-ec2-vs-rackspace-are-all-cloud-hosting-services-the-s.html&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://scripting.com/stories/2011/04/14/rackspaceBeatsEc2ByALot.html" title="blocked::http://scripting.com/stories/2011/04/14/rackspaceBeatsEc2ByALot.html"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;http://scripting.com/stories/2011/04/14/rackspaceBeatsEc2ByALot.html&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://news.ycombinator.com/item?id=2448812" title="blocked::http://news.ycombinator.com/item?id=2448812"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;http://news.ycombinator.com/item?id=2448812&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;reading the hacker news thread I can see that&amp;nbsp;beginning&amp;nbsp;of a new religion - which cloud provider do you use? its going to be one of those windows/linux, firefox/IE wars... and ultimately there no real way to say which one is best, as &lt;b&gt;it depends&lt;/b&gt; on what you need.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I moved my hosting from a dedicated server (windows) to a AWS micro instance (linux fedora). Its only been running for two weeks, but its only cost $10 compared to $50 - of course I had a physically dedicated machine before, but the micro instance seems happy enough running email (postfix). I'll write a post about setting it up later. So the cloud will save me $1000/year - not bad!&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/DpAJdvo0EHg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/7415974649126740130/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=7415974649126740130" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/7415974649126740130?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/7415974649126740130?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/DpAJdvo0EHg/cloud-providers-new-war-it-depends.html" title="Cloud Providers the new war: It Depends" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/04/cloud-providers-new-war-it-depends.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EAR3k-eSp7ImA9WhZRF0Q.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-6015252484310839833</id><published>2011-04-14T17:45:00.002+01:00</published><updated>2011-04-14T17:47:26.751+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-14T17:47:26.751+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="irony" /><category scheme="http://www.blogger.com/atom/ns#" term="cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="ireland" /><title>Connected world irony</title><content type="html">Before the Internet individual computers were used to accomplish general tasks: such as word processing;&amp;nbsp;spreadsheets&amp;nbsp;etc.&lt;br /&gt;
&lt;br /&gt;
The Internet allowed computers to be massively interconnected, allowing a user to access many other computer's resources.&lt;br /&gt;
&lt;br /&gt;
Now the Cloud is moving these basic tasks to work on the Web, allowing users to work on their documents etc from any computer.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-lUYJx3jrI_s/Tackjr0Z7gI/AAAAAAAAARo/n28BixFUoPQ/s1600/global+network.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-lUYJx3jrI_s/Tackjr0Z7gI/AAAAAAAAARo/n28BixFUoPQ/s320/global+network.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;&lt;a href="http://www.freedigitalphotos.net/images/view_photog.php?photogid=1152"&gt;&lt;span class="Apple-style-span" style="font-size: xx-small;"&gt;Image: jscreationzs / FreeDigitalPhotos.net&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The irony of the Cloud is that an unconnected computer becomes useless, as all documents etc are in the cloud. &lt;b&gt;The advent of the cloud has turned a useful general purpose tool into a type-writer with no ribbon&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
This train of thought was caused my me being in Ireland, in the country side with no Internet access or mobile signal. Happily I was writing code (64bit assembly on Fedora), and I suddenly thought:&lt;br /&gt;
&lt;div style="text-align: right;"&gt;"&lt;i&gt;are programmers the only people have a use for a&amp;nbsp;disconnected&amp;nbsp;computer&amp;nbsp;any-more?&lt;/i&gt;"&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/PA9c5HOVQEI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/6015252484310839833/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=6015252484310839833" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/6015252484310839833?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/6015252484310839833?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/PA9c5HOVQEI/connected-world-irony.html" title="Connected world irony" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-lUYJx3jrI_s/Tackjr0Z7gI/AAAAAAAAARo/n28BixFUoPQ/s72-c/global+network.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/04/connected-world-irony.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAFSX09cSp7ImA9Wx9VGUw.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-5712791948098130079</id><published>2011-02-05T14:55:00.001Z</published><updated>2011-02-05T14:55:18.369Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-05T14:55:18.369Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gadget" /><title>I'm backing this watch</title><content type="html">&lt;div&gt;&lt;p&gt;this seems so smart...&lt;br&gt;
http://kck.st/hyrZpz&lt;/p&gt;
&lt;br/&gt;&lt;img src='http://lh5.ggpht.com/_DEP-Cchblg0/TU1k1JGTLtI/AAAAAAAAAPk/4O4Gup7qPt8/KickStartersmall.full.png' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/5VzwWb3upo8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/5712791948098130079/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=5712791948098130079" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/5712791948098130079?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/5712791948098130079?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/5VzwWb3upo8/i-backing-this-watch.html" title="I&amp;#39;m backing this watch" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_DEP-Cchblg0/TU1k1JGTLtI/AAAAAAAAAPk/4O4Gup7qPt8/s72-c/KickStartersmall.full.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/02/i-backing-this-watch.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8CRno6fCp7ImA9Wx9VGUw.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-888987611678801802</id><published>2011-02-05T14:49:00.001Z</published><updated>2011-02-05T14:57:47.414Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-05T14:57:47.414Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="blogger android" /><title>New blogger app for android</title><content type="html">&lt;div&gt;&lt;p&gt;my first post using my phone. The main limiting factor seems to be that insert picture does not allow a web address, which is a bit daft.&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/KGgnDTBnw2U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/888987611678801802/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=888987611678801802" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/888987611678801802?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/888987611678801802?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/KGgnDTBnw2U/new-blogger-app-for-android.html" title="New blogger app for android" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/02/new-blogger-app-for-android.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cAR34_eSp7ImA9Wx9XFUQ.&quot;"><id>tag:blogger.com,1999:blog-2851998125830919828.post-8182723713719848478</id><published>2011-01-09T17:30:00.001Z</published><updated>2011-01-09T17:44:06.041Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-09T17:44:06.041Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="wtf" /><title>stating the  (un)obvious</title><content type="html">&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_DEP-Cchblg0/TSnuW33fwDI/AAAAAAAAANE/l47x1xgpOOY/s1600/2011-01-09+15.53.11.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="384" src="http://1.bp.blogspot.com/_DEP-Cchblg0/TSnuW33fwDI/AAAAAAAAANE/l47x1xgpOOY/s640/2011-01-09+15.53.11.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Red Gate&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://feeds.feedburner.com/~r/figmentengine/pqxP/~4/AHNBlB_z1rs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.figmentengine.com/feeds/8182723713719848478/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2851998125830919828&amp;postID=8182723713719848478" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/8182723713719848478?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2851998125830919828/posts/default/8182723713719848478?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/figmentengine/pqxP/~3/AHNBlB_z1rs/stating-unobvious.html" title="stating the  (un)obvious" /><author><name>fe</name><uri>http://www.blogger.com/profile/10497505263673073471</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_DEP-Cchblg0/SLarWWLZHQI/AAAAAAAAAAg/ckPH4xM-oL8/s1600-R/02dsb2jhbc9fcarcbxwagafel3rpbguvmc8yodaymqaaaaaaaad8soud.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_DEP-Cchblg0/TSnuW33fwDI/AAAAAAAAANE/l47x1xgpOOY/s72-c/2011-01-09+15.53.11.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.figmentengine.com/2011/01/stating-unobvious.html</feedburner:origLink></entry></feed>
