<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Mike's Lookout</title>
	
	<link>http://www.belshe.com</link>
	<description />
	<pubDate>Wed, 08 Jul 2009 19:31:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<geo:lat>37.270543</geo:lat><geo:long>-122.023059</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/MikesLookout" type="application/rss+xml" /><feedburner:emailServiceId>MikesLookout</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Free Markets and Lawyers</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/4LH_7ZvzOvk/</link>
		<comments>http://www.belshe.com/2009/07/08/free-markets-and-lawyers/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 19:31:59 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Lawyers]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2009/07/08/free-markets-and-lawyers/</guid>
		<description><![CDATA[ I watched the Arrington/Reback interview last week.&#160; It was quite interesting.&#160; Reback claims (and I agree) that competition is what ensures a fair marketplace.&#160; Without competition, consumers ultimately get burned.
I was thinking about how this applies to lawyers in America.&#160; Does competition keep the legal industry in check?
Consider what would happen if tomorrow, the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.belshe.com/wp-content/uploads/2009/07/lawyers.jpg"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="lawyers" border="0" alt="lawyers" align="right" src="http://www.belshe.com/wp-content/uploads/2009/07/lawyers-thumb.jpg" width="114" height="114"></a> I watched the <a href="http://www.youtube.com/watch?v=z3P5_zdkJkU">Arrington/Reback interview</a> last week.&nbsp; It was quite interesting.&nbsp; Reback claims (and I agree) that competition is what ensures a fair marketplace.&nbsp; Without competition, consumers ultimately get burned.</p>
<p>I was thinking about how this applies to lawyers in America.&nbsp; Does competition keep the legal industry in check?</p>
<p>Consider what would happen if tomorrow, the population of Accountants in the United States doubled.&nbsp; Suddenly there would be too many accountants.&nbsp; The price for accounting work would drop instantly due to over supply.</p>
<p>Now consider what would happen if tomorrow, the population of lawyers doubled.&nbsp; Unfortunately, there would be no such drop.&nbsp; A lawyer’s job is to make an argument (lawsuit).&nbsp; And we’ve created a government which has infinite capacity for new lawsuits.&nbsp;&nbsp; If there were twice as many lawyers filing claims, our government is *required by law* to expand to meet the needs of all those lawyers.&nbsp; Is this right?</p>
<p><a href="http://www.bls.gov/opub/mlr/2006/03/art3full.pdf">According to this study, we can see the number of lawyers in America has sharply increased between 1970 and 2000</a>.&nbsp; Was this growth due to increased demand for lawyers?&nbsp; Or do we have a supply/demand chain in the legal profession which is out of whack?&nbsp; Could it be that the same claims which Reback makes about businesses needing competitive pressure to remain balanced applies to lawyers?&nbsp; And if so, when we’ve got a government willing to accept any lawsuit, from any lawyer at unbounded capacity, how do we enforce competition in the legal industry?</p>
<p>The problem boils down to “frivolous”.&nbsp; Currently it is virtually impossible to get a case thrown out as frivolous.&nbsp; “Frivolous” is a specific legal term which has to do with making an grossly wasteful case.&nbsp; Generally, lawyers can make most any claim and sue anyone without being frivolous.&nbsp; This process can potentially cost the defendant hundreds of thousands of dollars to defend; and because it is so costly, defendants usually find it easier to settle, even for moderatly large amounts of $25,000 to $100,000.&nbsp; Even if the defendant is ultimately right and wins in court, the plaintiff owes the defendant nothing for all that wasted time.&nbsp; Further, the taxpayers were left with the bill for all the court costs.&nbsp; Why is this so?&nbsp; When bringing forth a lawsuit where you ultimately lose, why doesn’t the <a href="http://www.manhattan-institute.org/html/cjr_11.htm">loser pay court costs</a> and defendant costs?&nbsp; What other checks-and-balances can we put in place to provide the equivalent of “competition” in a legal system which inherently has no bounds on growth?</p>
<p>Unfortunately, our legal system is the pinnacle of the conflict of interest.&nbsp; Lawyers are one of the highest paid professions in the United States.&nbsp; Laws which regulate lawsuits will bring down lawyer wages.&nbsp; How can we expect politicians (largely lawyers themselves), judges, and lawyers to accept legislation which limits their livelihood?&nbsp; We cannot.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=4LH_7ZvzOvk:KTNh6zbay14:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=4LH_7ZvzOvk:KTNh6zbay14:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=4LH_7ZvzOvk:KTNh6zbay14:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=4LH_7ZvzOvk:KTNh6zbay14:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=4LH_7ZvzOvk:KTNh6zbay14:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/4LH_7ZvzOvk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/07/08/free-markets-and-lawyers/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/07/08/free-markets-and-lawyers/</feedburner:origLink></item>
		<item>
		<title>Now a WebKit Committer!</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/-kdHuD3coRk/</link>
		<comments>http://www.belshe.com/2009/06/28/now-a-webkit-committer/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 23:29:20 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2009/06/28/now-a-webkit-committer/</guid>
		<description><![CDATA[ As of last week, I’m now officially a member of the WebKit team – or at least they were annoyed with enough of my fixes that they decided I should be able to checkin on my own.&#160; I wish I had tons of time to do more work on WebKit.&#160; Hopefully I will free [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.belshe.com/wp-content/uploads/2009/06/webkit.png"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 15px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="webkit" border="0" alt="webkit" align="left" src="http://www.belshe.com/wp-content/uploads/2009/06/webkit-thumb.png" width="215" height="174"></a> As of last week, I’m now officially a member of the <a href="http://webkit.org/">WebKit</a> team – or at least they were annoyed with enough of my fixes that they decided I should be able to checkin on my own.&nbsp; I wish I had tons of time to do more work on WebKit.&nbsp; Hopefully I will free up soon.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=-kdHuD3coRk:JQNSCKuu7lI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=-kdHuD3coRk:JQNSCKuu7lI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=-kdHuD3coRk:JQNSCKuu7lI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=-kdHuD3coRk:JQNSCKuu7lI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=-kdHuD3coRk:JQNSCKuu7lI:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/-kdHuD3coRk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/06/28/now-a-webkit-committer/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/06/28/now-a-webkit-committer/</feedburner:origLink></item>
		<item>
		<title>Windows Proposes to Cut Internet Explorer</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/mPrHJpnRBH4/</link>
		<comments>http://www.belshe.com/2009/06/12/windows-proposes-to-cut-internet-explorer/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 05:48:00 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.belshe.com/?p=722</guid>
		<description><![CDATA[The headline may sound like a joke, but it certainly is not.  While the European Union stews over whether Microsoft should be forced to bundle competing browsers (like Chrome, Opera or Firefox), Microsoft is proposing the opposite.  &#8220;Fine&#8221;, Microsoft has conceded.  &#8220;If it&#8217;s not our browser, then users don&#8217;t get any browser. [...]]]></description>
			<content:encoded><![CDATA[<p>The headline may sound like a joke, but <a href="http://blogs.zdnet.com/microsoft/?p=3035">it certainly is not</a>.  While the European Union stews over whether Microsoft should be forced to bundle competing browsers (like Chrome, Opera or Firefox), Microsoft is proposing the opposite.  &#8220;Fine&#8221;, Microsoft has conceded.  &#8220;If it&#8217;s not our browser, then users don&#8217;t get any browser.  Happy now?&#8221;</p>
<p>Personally, I don&#8217;t think Windows will ever ship without a browser.  But I&#8217;m pretty happy with the proposal, because distributors will pick up the slack by bundling a browser that makes sense (e.g. the browser vendor that paid the most).</p>
<p>And of course, we can&#8217;t ignore the irony.  10 years ago, when Microsoft was killing Netscape, Bill Gates himself testified that the browser could not technically be removed.  It couldn&#8217;t be done.  Here we are 10 years later, when it&#8217;s a little more convenient, and now, well, turns out it can be done!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=mPrHJpnRBH4:ESVr0d4praI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=mPrHJpnRBH4:ESVr0d4praI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=mPrHJpnRBH4:ESVr0d4praI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=mPrHJpnRBH4:ESVr0d4praI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=mPrHJpnRBH4:ESVr0d4praI:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/mPrHJpnRBH4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/06/12/windows-proposes-to-cut-internet-explorer/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/06/12/windows-proposes-to-cut-internet-explorer/</feedburner:origLink></item>
		<item>
		<title>Google Chrome 2.0</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/AwygEB8pS1o/</link>
		<comments>http://www.belshe.com/2009/05/22/google-chrome-20/#comments</comments>
		<pubDate>Fri, 22 May 2009 05:03:54 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Chrome]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2009/05/22/google-chrome-20/</guid>
		<description><![CDATA[Chrome 2.0 shipped out of beta today.
The New York Times seems to like it.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://googleblog.blogspot.com/2009/05/put-pedal-to-metal-with-faster-google.html">Chrome 2.0</a> shipped out of beta today.</p>
<p>The <a href="http://gadgetwise.blogs.nytimes.com/2009/05/21/google-buffs-chrome/">New York Times</a> seems to like it.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=AwygEB8pS1o:4l32ZcqzjNk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=AwygEB8pS1o:4l32ZcqzjNk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=AwygEB8pS1o:4l32ZcqzjNk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=AwygEB8pS1o:4l32ZcqzjNk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=AwygEB8pS1o:4l32ZcqzjNk:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/AwygEB8pS1o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/05/22/google-chrome-20/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/05/22/google-chrome-20/</feedburner:origLink></item>
		<item>
		<title>Mike’s Easy Guide to the California Election May 19th</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/G06BB6B-rA0/</link>
		<comments>http://www.belshe.com/2009/05/18/mikes-easy-guide-to-the-california-election-may-19th/#comments</comments>
		<pubDate>Mon, 18 May 2009 07:35:19 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2009/05/18/mikes-easy-guide-to-the-california-election-may-19th/</guid>
		<description><![CDATA[Here’s the simple how-to guide for voting on Tuesday.
Prop 1A – NOThis confused proposition claims to limit state spending, but the first thing it does is create a “rainy day slush fund” to the tune of ~$16B.&#160; There are only 28M Californians, folks.&#160; That means taxes of $571 from every man, woman and child in [...]]]></description>
			<content:encoded><![CDATA[<p>Here’s the simple how-to guide for voting on Tuesday.</p>
<p><strong>Prop 1A – NO<br /></strong><a href="http://www.voterguide.sos.ca.gov/title-sum/prop1a-title-sum.htm">This confused proposition</a> claims to limit state spending, but the first thing it does is create a “rainy day slush fund” to the tune of ~$16B.&nbsp; There are only <a href="http://www.calmis.ca.gov/file/lfmonth/calmr.pdf">28M Californians</a>, folks.&nbsp; That means taxes of $571 from every man, woman and child in the state.&nbsp; But since only 18M of those people want to work, and another <a href="http://www.google.com/publicdata?ds=usunemployment&amp;met=unemployment_rate&amp;idim=state:ST060000&amp;q=california+unemployment+statistics">11.5% are unemployed</a>, each worker will get hit with ~$968!&nbsp; Yes, we should limit state spending.&nbsp; As far as I can tell, this is an increase in spending.</p>
<p><strong>Prop 1B – NO</strong><br />California has not been able to pass a budget largely because legislators have their hands tied.&nbsp; Propositions like <a href="http://www.voterguide.sos.ca.gov/title-sum/prop1b-title-sum.htm">1B</a> mandate spending in certain areas without consideration for future events.&nbsp; When crunch time hits, legislators need maneuverability.&nbsp; We cannot predict the future, and guaranteed spending always hurts.&nbsp; Experts agree this will be roughly a $10B tax increase starting in 2011.&nbsp; Further, in order for this law to work, you need to vote yes on 1A. </p>
<p><strong>Prop 1C – NO</strong><br /><a href="http://www.voterguide.sos.ca.gov/title-sum/prop1c-title-sum.htm">The proposition</a> calls itself a “lottery modernization act”, but really it is a loan from the lottery to the state for $5B to cover more spending.&nbsp;&nbsp; This would also make lottery profits no longer guaranteed for education.&nbsp; We don’t need more loans for the state to pay back later.</p>
<p><strong>Prop 1D – NO</strong><br />Redirects funding from 1998’s Proposition 10 so that funding can be used for purposes other than what was designed in 1998.&nbsp; This is a great example of why propositions are a bad idea.&nbsp; In 1998, Prop 10 passed.&nbsp; But now, the state is in a jam and wants the money to use for something else.&nbsp; Let’s repeal Prop 10 altogether, not amend it to create more crazy spending plans.</p>
<p><strong>Prop 1E – NO</strong><strong><br /></strong>Like Prop 1D, this proposition is redirecting funds to new purposes.&nbsp; Prop 1E proposes to change the funding plan for 2004’s Proposition 63, which guaranteed funding for certain mental health services.&nbsp; Now, the state is in a jam and wants to spend it on something else.&nbsp; Like with Prop 1D, let’s just eliminate Prop 63 rather than create more complications in our budget.</p>
<p><strong>Prop 1F – NO<br /></strong>This law would prevent salary increases for legislators when there is a deficit.&nbsp; I don’t disagree, but we don’t need such a stupid law.&nbsp; It has trivial effect on our overall state economy, and we should be more strict about balancing the budget rather than creating penalties for deficits.</p>
<p><strong>Conclusion<br /></strong>The cheat sheet for this year’s election is simple.&nbsp; NO.&nbsp; NO. NO. NO. NO. NO.&nbsp; Get the pattern?</p>
<p>Several of the propositions are about changing earlier propositions (the lottery, prop 10, and prop 64) so that we can balance the budget by using those guaranteed funds for new purposes.&nbsp; I agree we need to unlock funds so that we can balance our budget.&nbsp;&nbsp; But creating new, cockamamie laws isn’t the answer.&nbsp; Let’s repeal the guaranteed spending initiatives altogether.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=G06BB6B-rA0:A_exdzlpZqo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=G06BB6B-rA0:A_exdzlpZqo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=G06BB6B-rA0:A_exdzlpZqo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=G06BB6B-rA0:A_exdzlpZqo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=G06BB6B-rA0:A_exdzlpZqo:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/G06BB6B-rA0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/05/18/mikes-easy-guide-to-the-california-election-may-19th/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/05/18/mikes-easy-guide-to-the-california-election-may-19th/</feedburner:origLink></item>
		<item>
		<title>Velocity Conference 2009</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/leJpFjlef24/</link>
		<comments>http://www.belshe.com/2009/05/09/velocity-conference-2009/#comments</comments>
		<pubDate>Sat, 09 May 2009 08:05:51 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Chrome]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2009/05/09/velocity-conference-2009/</guid>
		<description><![CDATA[ I&#8217;ll be presenting as part of a discussion called What Makes Browsers Performant at the Velocity 2009 Conference, on June 23rd.&#160; I&#8217;ve got limited time, but I&#8217;ll give an overview of how we approach performance in Google Chrome, detail some of the key areas in performance which make Chrome stand out, share some performance [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://en.oreilly.com/velocity2009/public/register"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="velocity2009_banner_speaking_120x240" align="right" src="http://www.belshe.com/wp-content/uploads/2009/05/velocity2009-banner-speaking-120x240.gif" width="120" height="240"></a> I&#8217;ll be presenting as part of a discussion called <a href="http://en.oreilly.com/velocity2009/public/schedule/detail/8486">What Makes Browsers Performant</a> at the <a href="http://en.oreilly.com/velocity2009">Velocity 2009 Conference</a>, on June 23rd.&nbsp; I&#8217;ve got limited time, but I&#8217;ll give an overview of how we approach performance in Google Chrome, detail some of the key areas in performance which make Chrome stand out, share some performance numbers never before shared, and hopefully squeeze in a must-see demo or two.</p>
<p>I&#8217;m a developer, not a marketer, so this will be an entertaining, technical talk, with no spin and no &#8220;marketecture&#8221;!&nbsp; As a bonus, I promise to tell at least 2 good jokes.&nbsp; If you don&#8217;t laugh, you get your money back.&nbsp; Ok - that&#8217;s not true, ask the conference people about that.</p>
<p>If you haven&#8217;t signed up yet for Velocity you can use the coupon code <strong>VEL09FSP</strong> to get a 15% discount on tickets.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=leJpFjlef24:z-CRHjEmDJs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=leJpFjlef24:z-CRHjEmDJs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=leJpFjlef24:z-CRHjEmDJs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=leJpFjlef24:z-CRHjEmDJs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=leJpFjlef24:z-CRHjEmDJs:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/leJpFjlef24" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/05/09/velocity-conference-2009/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/05/09/velocity-conference-2009/</feedburner:origLink></item>
		<item>
		<title>Bitter about Twitter</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/8pUUwuwNic0/</link>
		<comments>http://www.belshe.com/2009/04/20/bitter-about-twitter/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 00:09:18 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2009/04/20/bitter-about-twitter/</guid>
		<description><![CDATA[ Today I turned off all email notifications from Twitter.&#160; Twitter has been getting so much press, you’d think it was a must-have service.&#160; I don’t get it.&#160; Not only do I not want to know what Ashton Kutcher has to say, I don’t even care.&#160; But that is another story.
Lately I’ve been getting lots [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.belshe.com/wp-content/uploads/2009/04/twitter.png"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 10px 0px; display: inline; border-top: 0px; border-right: 0px" title="twitter" border="0" alt="twitter" align="left" src="http://www.belshe.com/wp-content/uploads/2009/04/twitter-thumb.png" width="155" height="36"></a> Today I turned off all email notifications from Twitter.&nbsp; Twitter has been getting so much press, you’d think it was a must-have service.&nbsp; I don’t get it.&nbsp; Not only do I not want to know what Ashton Kutcher has to say, I don’t even care.&nbsp; But that is another story.</p>
<p>Lately I’ve been getting lots of twitter followers that I don’t even know.&nbsp; At first I wondered why, but now I believe this is just another type of spam.&nbsp; Every follow creates an email notice out to the person being followed.&nbsp; Some percentage of those&nbsp; will follow the link.&nbsp; This is just twitter’s bird droppings – SPAM.</p>
<p>Anyway, all email notifications from twitter are now off.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=8pUUwuwNic0:m1sMrOZzSXE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=8pUUwuwNic0:m1sMrOZzSXE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=8pUUwuwNic0:m1sMrOZzSXE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=8pUUwuwNic0:m1sMrOZzSXE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=8pUUwuwNic0:m1sMrOZzSXE:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/8pUUwuwNic0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/04/20/bitter-about-twitter/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/04/20/bitter-about-twitter/</feedburner:origLink></item>
		<item>
		<title>Chrome Performs Very Well at Hacking Competition</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/2lm2m4-zEl8/</link>
		<comments>http://www.belshe.com/2009/03/21/chrome-performs-very-well-at-hacking-competition/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 05:33:00 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2009/03/21/chrome-performs-very-well-at-hacking-competition/</guid>
		<description><![CDATA[ At the CanSecWest conference each year they conduct a hacking competition (pwn2own).&#160; Security professionals compete to get malware onto a machine faster than anyone else.&#160; The contestant can pick the browser that they wish to attack.
At this year&#8217;s conference, every major browser including IE8, Firefox, and Safari were all hacked over a 3 day [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.belshe.com/wp-content/uploads/2009/03/browsers.png"><img style="border-right: 0px; border-top: 0px; margin: 0px 0px 0px 10px; border-left: 0px; border-bottom: 0px" height="184" alt="browsers" src="http://www.belshe.com/wp-content/uploads/2009/03/browsers-thumb.png" width="169" align="right" border="0"></a> At the <a href="http://cansecwest.com/">CanSecWest conference</a> each year they <a href="http://blogs.zdnet.com/security/?p=2917">conduct a hacking competition (pwn2own)</a>.&nbsp; Security professionals compete to get malware onto a machine faster than anyone else.&nbsp; The contestant can pick the browser that they wish to attack.</p>
<p>At this year&#8217;s conference, every major browser including IE8, Firefox, and Safari were all hacked over a 3 day period.&nbsp; The only browser which was not hacked was Chrome.&nbsp; One of the winners of the contest had some interesting things to say about <a href="http://blogs.zdnet.com/security/?p=2941">why Chrome was not hacked</a>.</p>
<p>Chrome&#8217;s &#8220;sandbox&#8221; is not an accident; it was designed for this case.&nbsp; Each web page runs in a renderer process, and that process has no privileges on the OS, so it cannot write to disk or talk to the network.&nbsp; With all of the browsers being hacked, it&#8217;s fair to assume that hackers will find flaws in any browser.&nbsp; Avoiding flaws is key, but the sandbox ensures that those flaws are contained to some degree.&nbsp; It is much harder to do persist damage to the machine after the flaw has been exploited because the process can&#8217;t touch the network or disk.&nbsp; While IE8 also uses multiple processes, it does not implement a sandbox, so it is vulnerable in similar ways to single process browsers.&nbsp; Don&#8217;t get me wrong, the sandbox is not perfect, I&#8217;m sure someone will find an exploit.&nbsp; But it does make Chrome harder to break into.&nbsp; Plugins will be a vulnerability, as they cannot yet operate in a sandboxed environment (Flash, for instance, requires access to the OS in order to run).</p>
<p>More news:<br /><a href="http://news.softpedia.com/news/IE8-Firefox-Safari-Owned-via-0-Day-Vulns-Chrome-Survives-Intact-107283.shtml">IE8, Firefox, Safari Owned by 0-Day Vulnerabilities, Chrome Survives Intact</a><br /><a href="http://blogs.zdnet.com/hardware/?p=4003">Chrome last browser standing after day one of Pwn2Own</a><br /><a href="http://blog.seattlepi.com/microsoft/archives/164680.asp">Internet Explorer 8 Gets Hacked, Already</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=2lm2m4-zEl8:7v492z11t0s:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=2lm2m4-zEl8:7v492z11t0s:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=2lm2m4-zEl8:7v492z11t0s:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=2lm2m4-zEl8:7v492z11t0s:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=2lm2m4-zEl8:7v492z11t0s:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/2lm2m4-zEl8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/03/21/chrome-performs-very-well-at-hacking-competition/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/03/21/chrome-performs-very-well-at-hacking-competition/</feedburner:origLink></item>
		<item>
		<title>Moving Forward</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/xzIJ-6WC47A/</link>
		<comments>http://www.belshe.com/2009/03/20/moving-forward/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 16:27:59 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2009/03/20/moving-forward/</guid>
		<description><![CDATA[ IE8 shipped yesterday!&#160; If you use Microsoft’s Internet Explorer, this browser is a must download.&#160;&#160; As this performance test from ZDnet shows, Microsoft has made fantastic progress between IE7 and IE8.&#160; IE8 is solidly 5 times faster than it’s predecessor, and it is also much more compatible with rendering sites on the web.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.microsoft.com/windows/internet-explorer/default.aspx"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 15px; display: inline; border-top: 0px; border-right: 0px" title="ie" border="0" alt="ie" align="right" src="http://www.belshe.com/wp-content/uploads/2009/03/ie.jpg" width="115" height="115"> IE8 shipped yesterday</a>!&nbsp; If you use Microsoft’s Internet Explorer, this browser is a <strong>must download</strong>.&nbsp;&nbsp; <a href="http://blogs.zdnet.com/hardware/?p=3998">As this performance test from ZDnet shows</a>, Microsoft has made fantastic progress between IE7 and IE8.&nbsp; IE8 is solidly 5 times faster than it’s predecessor, and it is also much more compatible with rendering sites on the web.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=xzIJ-6WC47A:pjjU4e_ajrM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=xzIJ-6WC47A:pjjU4e_ajrM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=xzIJ-6WC47A:pjjU4e_ajrM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=xzIJ-6WC47A:pjjU4e_ajrM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=xzIJ-6WC47A:pjjU4e_ajrM:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/xzIJ-6WC47A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/03/20/moving-forward/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/03/20/moving-forward/</feedburner:origLink></item>
		<item>
		<title>Javascript Faster and Slower</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/DsozpYDWK_A/</link>
		<comments>http://www.belshe.com/2009/03/16/javascript-faster-and-slower/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 19:39:38 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Chrome]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2009/03/16/javascript-faster-and-slower/</guid>
		<description><![CDATA[Several articles have been written about the latest in Javascript performance.&#160; Here are some interesting points:
DownloadSquad:“Chrome 2 beats Safari 4 like a rented mule”
CNet:“The upshot: Chrome wins both tests handily, with Firefox in second place on Sunspider and Safari in second place on the V8 benchmark.”
Also interesting is that Firefox’s Tracemonkey Javascript engine may be [...]]]></description>
			<content:encoded><![CDATA[<p>Several articles have been written about the latest in Javascript performance.&nbsp; Here are some interesting points:</p>
<p>DownloadSquad:<br /><a href="http://www.downloadsquad.com/2009/02/25/check-those-numbers-chrome-beats-safari-4-but-does-it-matter/">“Chrome 2 beats Safari 4 like a rented mule”</a></p>
<p>CNet:<br /><a href="http://news.cnet.com/safari-challenges-chrome-on-web-app-speed/">“The upshot: Chrome wins both tests handily, with Firefox in second place on Sunspider and Safari in second place on the V8 benchmark.”</a></p>
<p>Also interesting is that Firefox’s Tracemonkey Javascript engine may be falling behind.&nbsp; Numerous articles have opined that <a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;articleId=9128380">Firefox 3’s ship date is in jeopardy due to Tracemonkey related bugs</a>.&nbsp; But new data also confirms that Javascript in <a href="http://davidnaylor.org/blog/2009/03/firefox-31-beta-3-slower-but-faster.html">Firefox 3.1 beta 3 is markedly slower than Firefox 3.1 beta 2</a>.&nbsp; The performance loss is palpable – Firefox lost 20% in performance from beta 2 to beta 3.&nbsp; The problem may be that as <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=452498">the bugs</a> have <a href="https://bugzilla.mozilla.org/buglist.cgi?query_format=specific&amp;order=relevance+desc&amp;bug_status=__open__&amp;product=&amp;content=TM">piled up</a> in Tracemonkey, the fixes to ensure stability have eroded the performance gains initially boasted by the team.&nbsp; It will be interesting to see Firefox’s final performance numbers when it ships out of beta.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=DsozpYDWK_A:heZRl0ACsuM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=DsozpYDWK_A:heZRl0ACsuM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=DsozpYDWK_A:heZRl0ACsuM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=DsozpYDWK_A:heZRl0ACsuM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=DsozpYDWK_A:heZRl0ACsuM:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/DsozpYDWK_A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/03/16/javascript-faster-and-slower/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/03/16/javascript-faster-and-slower/</feedburner:origLink></item>
		<item>
		<title>JavaScript Private Member Variables</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/rS-j70-fMWc/</link>
		<comments>http://www.belshe.com/2009/02/26/javascript-private-member-variables/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 02:41:28 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2009/02/26/javascript-private-member-variables/</guid>
		<description><![CDATA[In JavaScript, nothing is private, right?&#160; Sort of.&#160; One mechanism for creating classes with hidden member variables is to leverage Javascript’s lexical scoping.&#160; Lexical scoping means that a function’s scope is defined where it is declared, rather than where it is executed.
Here is a quick example which effectively creates a private member called “private_”: 

function [...]]]></description>
			<content:encoded><![CDATA[<p>In JavaScript, nothing is private, right?&#160; Sort of.&#160; One mechanism for creating classes with hidden member variables is to leverage Javascript’s <strong>lexical scoping</strong>.&#160; Lexical scoping means that a function’s scope is defined where it is declared, rather than where it is executed.</p>
<p>Here is a quick example which effectively creates a private member called “private_”: </p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 450px; padding-right: 5px; color: black; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden"><span style="color: #0000ff">function</span> PrivateClass() {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden">  <span style="color: #0000ff">var</span> private_ = 0;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden">  <span style="color: #0000ff">this</span>.increment = <span style="color: #0000ff">function</span>() { <span style="color: #0000ff">return</span> ++private_; };
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden">  <span style="color: #0000ff">this</span>.decrement = <span style="color: #0000ff">function</span>() { <span style="color: #0000ff">return</span> –private_; };
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden">}
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden"><span style="color: #0000ff">var</span> instance = <span style="color: #0000ff">new</span> PrivateClass();</pre>
</pre>
<p>A question which comes to my mind is whether or not this is fast.&#160; After all, if you’re going to have an object with methods, wouldn’t using prototypes be better?</p>
<p>Here is an alternate implementation:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 450px; padding-right: 5px; color: black; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden"><span style="color: #0000ff">function</span> PrivateClass() {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden">  this.private_ = 0;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden">}
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden"></pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden">PrivateClass.prototype.increment = <span style="color: #0000ff; overflow: hidden">function</span>() {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden">  <span style="color: #0000ff">return</span> ++(this.private_);
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden">}
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden"></pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden">PrivateClass.prototype.decrement = <span style="color: #0000ff; overflow: hidden">function</span>() {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden">  <span style="color: #0000ff">return</span> ++(this.private_);
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; overflow: hidden">}</pre>
</pre>
<p>In this implementation, private_ is no longer private and can be accessed externally.&#160; However, the constructor for PrivateClass() is much simpler as the methods are assigned to the prototype once, and then reused.</p>
<p>So I wrote a quick benchmark to test creation of these objects and access time of these objects (these operations are fast, so I measured 20,000 iteration loops).&#160; Using Chrome 2.0, here are the results:</p>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="133"><font color="#ffffff"></font></td>
<td valign="top" width="133"><font color="#ffffff">creation time</font></td>
<td valign="top" width="133"><font color="#ffffff">access time</font></td>
</tr>
<tr>
<td valign="top" width="133"><font color="#ffffff">via Lexical Scoping</font></td>
<td valign="top" width="133"><font color="#ffffff">122.2ms</font></td>
<td valign="top" width="133"><font color="#ffffff">0.18ms</font></td>
</tr>
<tr>
<td valign="top" width="133"><font color="#ffffff">via Prototype</font></td>
<td valign="top" width="133"><font color="#ffffff">11.3ms</font></td>
<td valign="top" width="133"><font color="#ffffff">0.18ms</font></td>
</tr>
</tbody>
</table>
<p>So, if you are creating a few objects, and using them for a long time, either approach works well.&#160; But, if you are churning through many objects over time, using lexical scoping to hide private members is substantially more expensive than using prototype methods on an object.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=rS-j70-fMWc:OU3RJumkoA4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=rS-j70-fMWc:OU3RJumkoA4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=rS-j70-fMWc:OU3RJumkoA4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=rS-j70-fMWc:OU3RJumkoA4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=rS-j70-fMWc:OU3RJumkoA4:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/rS-j70-fMWc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/02/26/javascript-private-member-variables/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/02/26/javascript-private-member-variables/</feedburner:origLink></item>
		<item>
		<title>Chrome Multi-Process Performance</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/GtMEfoGOnXU/</link>
		<comments>http://www.belshe.com/2009/02/26/chrome-multi-process-performance/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 07:12:46 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Chrome]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2009/02/26/chrome-multi-process-performance/</guid>
		<description><![CDATA[One of the features in Chrome is that it is a multi-process browser.&#160; To most people, that doesn&#8217;t mean much.&#160; I could tell you that using multiple processes improves security, performance, and memory management, but you&#8217;ll probably yawn.&#160; Here is my attempt to look at one angle of multi-process performance with a demo.
&#160;
Process Priorities
Operating Systems [...]]]></description>
			<content:encoded><![CDATA[<p>One of the features in <a href="http://www.google.com/chrome">Chrome</a> is that it is a <a href="http://blog.chromium.org/2008/09/multi-process-architecture.html">multi-process browser</a>.&nbsp; To most people, that doesn&#8217;t mean much.&nbsp; I could tell you that using multiple processes improves security, performance, and memory management, but you&#8217;ll probably yawn.&nbsp; Here is my attempt to look at one angle of multi-process performance with a demo.</p>
<p>&nbsp;</p>
<p><strong>Process Priorities</strong></p>
<p>Operating Systems like Microsoft Windows generally support the notion of <a href="http://msdn.microsoft.com/en-us/library/ms685100.aspx">running different processes at different priorities</a>.&nbsp; Because Chrome isolates each &#8220;tab&#8221; into its own process, Chrome can tell the operating system which tabs are important and which are less important.&nbsp; When you switch to a tab, Chrome automatically tells the operating system to lower the priority of the tab which moved to the background, and raise the priority of the one which moved to the foreground.&nbsp; Other browsers can&#8217;t do this because those browsers run all tabs run in a single process.</p>
<p>Why does this matter?&nbsp; There are two primary reasons.&nbsp; </p>
<p>First, when you have many tabs open, the tab you are actively working with will get the most CPU resources.&nbsp; A background tab can continue to run, but it will <em>never</em> slow down your foreground work - because the operating system ensures that the higher priority processes always run first, even if it means starving the background process.&nbsp; This keeps your browser responsive and snappy no matter how many tabs you&#8217;ve opened.</p>
<p>Second, by lowering the priority of unused tabs, Chrome is being nicer to <em>other applications.</em>&nbsp; Whether your other application is Outlook, Word, Firefox, or even a game, Chrome&#8217;s background tabs <em>cannot</em> slow down those other applications because Chrome has intentionally yielded its priority to other applications.&nbsp; Chrome is the only browser which does this.&nbsp; Ironically, by making Chrome&#8217;s background tabs run slower, it makes your system faster!</p>
<p>&nbsp;</p>
<p><strong>Quick Demo</strong></p>
<p>Let&#8217;s run Chrome 1.0.&nbsp; In one tab, I&#8217;m running the <a href="http://v8.googlecode.com/svn/data/benchmarks/v3/run.html">v8 benchmark</a>.&nbsp; In another tab, I&#8217;m running my <a href="http://www.belshe.com/demos/spin.html">CPU spinner page</a> which eats up lots of CPU.&nbsp; If these two pages run concurrently, the browser&#8217;s score on the benchmark will be lower because the browser is doing two things at once.&nbsp; However, if Chrome properly lowers the priority of the background task, then the benchmark score should be unaffected.&nbsp; I&#8217;m running these tests on my laptop- a single processor machine.</p>
<p>First, here is the V8 Benchmark for Chrome.&nbsp; Chrome scored a 1333 in this quick run when nothing else was running.</p>
<p><a href="http://www.belshe.com/wp-content/uploads/2009/02/chrome1.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="133" alt="chrome1" src="http://www.belshe.com/wp-content/uploads/2009/02/chrome1-thumb.jpg" width="244" border="0"></a> </p>
<p>Next, we run the CPU spinner in a background tab, and run the benchmark in the foreground.&nbsp; Chrome&#8217;s performance is unaffected by the background work, and in this run scores 1345.</p>
<p><a href="http://www.belshe.com/wp-content/uploads/2009/02/chrome2.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="133" alt="chrome2" src="http://www.belshe.com/wp-content/uploads/2009/02/chrome2-thumb.jpg" width="244" border="0"></a> </p>
<p>Let&#8217;s try the same thing with Firefox 3.</p>
<p>First, a dry run for the benchmark.&nbsp; Firefox scores 165 on this test.</p>
<p><a href="http://www.belshe.com/wp-content/uploads/2009/02/ff1.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="133" alt="ff1" src="http://www.belshe.com/wp-content/uploads/2009/02/ff1-thumb.jpg" width="244" border="0"></a> </p>
<p>Now, with Chrome running the CPU spinner in the background, Firefox is not impacted.&nbsp; Firefox still gets a score of 157, even though Chrome is using 100% of the CPU in a background process!&nbsp; Priorities actually work.</p>
<p><a href="http://www.belshe.com/wp-content/uploads/2009/02/ff5.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="141" alt="ff5" src="http://www.belshe.com/wp-content/uploads/2009/02/ff5-thumb.jpg" width="244" border="0"></a> </p>
<p>Finally, lets see what happens if Chrome didn&#8217;t do this.&nbsp; This time, we&#8217;ll let Firefox run the background tab and see if it effects Chrome&#8217;s benchmark score.&nbsp; Sure enough, Chrome&#8217;s score drops to 762 (it was 1333).&nbsp; Firefox degraded Chrome&#8217;s performance by nearly 50%.</p>
<p><a href="http://www.belshe.com/wp-content/uploads/2009/02/ff4.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="141" alt="ff4" src="http://www.belshe.com/wp-content/uploads/2009/02/ff4-thumb.jpg" width="244" border="0"></a> </p>
<p>&nbsp;</p>
<p><strong>Other Performance Benefits</strong></p>
<p>Startup performance is also enhanced with this feature - especially when you startup with multiple tabs.&nbsp; In this case, Chrome will lower the priority of the background tabs, and only the foreground tab will have high priority.&nbsp; You get the foreground tab first (which is what you want), an the secondary tabs fill in as CPU becomes available.</p>
<p>&nbsp;</p>
<p><strong>Conclusion</strong></p>
<p>When single process applications like Firefox, Internet Explorer or Safari run web pages in background tabs, they can reduce your foreground application performance by as much as 50%!&nbsp; However, because Chrome uses background process priorities, it has almost zero impact on foreground applications.&nbsp; This lets the user get his work done and not worry that idle applications are in the way.</p>
<p>All part of what you get with a multi-process browser.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=GtMEfoGOnXU:LIybagnRScU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=GtMEfoGOnXU:LIybagnRScU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=GtMEfoGOnXU:LIybagnRScU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=GtMEfoGOnXU:LIybagnRScU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=GtMEfoGOnXU:LIybagnRScU:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/GtMEfoGOnXU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/02/26/chrome-multi-process-performance/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/02/26/chrome-multi-process-performance/</feedburner:origLink></item>
		<item>
		<title>Signs of Desperation - Lawyers</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/NcTtOQY2tNE/</link>
		<comments>http://www.belshe.com/2009/02/25/signs-of-desperation-lawyers/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 01:36:00 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Lawyers]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2009/02/25/signs-of-desperation-lawyers/</guid>
		<description><![CDATA[The press is abuzz today with news that Microsoft is suing TomTom over patent violations involving linux.
Sadly – the recession is probably going to bring more of this desperation.&#160; 
]]></description>
			<content:encoded><![CDATA[<p>The press is abuzz today with news that <a href="http://blogs.zdnet.com/microsoft/?p=2158">Microsoft is suing TomTom over patent violations involving linux</a>.</p>
<p>Sadly – the recession is probably going to bring more of <a href="http://www.belshe.com/2006/07/27/patents-the-only-way-to-win-is-not-to-play/">this desperation</a>.&#160; </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=NcTtOQY2tNE:1TQ4E0LzrDE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=NcTtOQY2tNE:1TQ4E0LzrDE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=NcTtOQY2tNE:1TQ4E0LzrDE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=NcTtOQY2tNE:1TQ4E0LzrDE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=NcTtOQY2tNE:1TQ4E0LzrDE:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/NcTtOQY2tNE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/02/25/signs-of-desperation-lawyers/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/02/25/signs-of-desperation-lawyers/</feedburner:origLink></item>
		<item>
		<title>Chrome Channel Changer</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/s9mBmzd2X5Q/</link>
		<comments>http://www.belshe.com/2009/02/24/chrome-channel-changer/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 20:21:03 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Chrome]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2009/02/24/chrome-channel-changer/</guid>
		<description><![CDATA[I get a lot of questions about the latest releases of Chrome which are available and how to get it.&#160; Chrome releases a little differently from other software.
If you just download the default version of Chrome, you’ll get the “stable” version, and you’ll automatically be kept up to date with the latest “stable” releases.&#160; New [...]]]></description>
			<content:encoded><![CDATA[<p>I get a lot of questions about the latest releases of Chrome which are available and how to get it.&#160; Chrome releases a little differently from other software.</p>
<p>If you just download the default <a href="http://www.google.com/chrome">version of Chrome</a>, you’ll get the “stable” version, and you’ll automatically be kept up to date with the latest “stable” releases.&#160; New releases will come out only when the software is ready – it may be several months between versions.</p>
<p>If you want to see features more quickly, you can switch the to “beta” version.&#160; Again, you’ll be automatically kept up to date with the latest beta versions.&#160; These versions are generally stable (we constantly run a <a href="http://build.chromium.org/buildbot/waterfall/waterfall">plethora of tests to keep code in reasonably good shape</a>), but this is less tested than a stable release.&#160; New releases may come out every month or so.</p>
<p>Finally, if you really want to see new features as they come in, you can subscribe to the “dev” channel.&#160;&#160; Again, you’ll be automatically updated as new developer releases are available.&#160;&#160; New releases may come out every few weeks.&#160; These builds are tested well, but users should be aware that these releases will be the least stable.</p>
<p>To select which version of Chrome you want, you’ll need to run the Chrome “channel changer”.&#160; You can get a <a href="http://chromium.googlecode.com/files/chromechannel-2.0.exe">copy of it here</a>, or you can <a href="http://dev.chromium.org/getting-involved/dev-channel">read more about it from here</a>.&#160; Once you’ve picked your channel, restart your browser, and soon you’ll have the version to which you’ve subscribed.</p>
<p>Here is a screenshot of the channel changer:</p>
<p><a href="http://www.belshe.com/wp-content/uploads/2009/02/channels.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="channels" border="0" alt="channels" src="http://www.belshe.com/wp-content/uploads/2009/02/channels-thumb.png" width="634" height="267" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=s9mBmzd2X5Q:y2Ijgy7rRtA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=s9mBmzd2X5Q:y2Ijgy7rRtA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=s9mBmzd2X5Q:y2Ijgy7rRtA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=s9mBmzd2X5Q:y2Ijgy7rRtA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=s9mBmzd2X5Q:y2Ijgy7rRtA:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/s9mBmzd2X5Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/02/24/chrome-channel-changer/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/02/24/chrome-channel-changer/</feedburner:origLink></item>
		<item>
		<title>XP Is Good Enough</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/vh25SPQWto8/</link>
		<comments>http://www.belshe.com/2009/02/12/xp-is-good-enough/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 20:52:10 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2009/02/12/xp-is-good-enough/</guid>
		<description><![CDATA[ Installing a new operating system is a pain in the neck. I hate doing it at home.&#160; But how would you like to be the IT guy saddled with the task of updating 1,000 machines?
You basically have two choices:   &#160; a) Let your customers use XP, take on no new workload for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.belshe.com/wp-content/uploads/2009/02/ballmer.jpg"><img title="ballmer" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 0px 10px 10px; border-left: 0px; border-bottom: 0px" height="112" alt="ballmer" src="http://www.belshe.com/wp-content/uploads/2009/02/ballmer-thumb.jpg" width="94" align="right" border="0" /></a> Installing a new operating system is a pain in the neck. I hate doing it at home.&#160; But how would you like to be the IT guy saddled with the task of updating 1,000 machines?</p>
<p>You basically have two choices:   <br />&#160; a) Let your customers use XP, take on no new workload for yourself so you can <a href="http://www.thewebsiteisdown.com/">keep playing quake</a>, get no new technical support questions and have no chance of getting fired, or</p>
<p>&#160; b) Upgrade to Vista/Win7, creating tons of work for yourself in testing compatibility, be left with late-night work to answer stupid support questions, and if anything goes wrong, run the risk of getting fired.&#160; Worse, you know that something *will* go wrong.&#160; It’s just a matter of how bad the screw-up is.</p>
<p>Frankly – XP is good enough.&#160; It works.&#160; It’s compatible.&#160; Hardware keeps getting faster to keep productivity up.&#160; Applications move to the web, and the <a href="http://www.belshe.com/2006/09/28/desktop-applications-cost-too-much/">workload for supporting applications gets lighter</a>.</p>
<p>Upgrading to Vista or Windows 7 means you have to make sure that every one of the 347 applications which worked yesterday still work today.&#160; That’s simply an impossible task.&#160; I wouldn’t want to do it.&#160; Why would any IT manager want to?</p>
<p>Maybe Microsoft should just go into milk-the-cow mode.&#160;&#160; No more operating systems.&#160; Just do small patches to XP forever.</p>
<p>See also:   <br /><a href="http://news.cnet.com/history-repeating-recalling-the-vista-upgrade/">Recalling the Vista ‘Upgrade’</a>    <br /><a href="http://it.toolbox.com/blogs/enterprise-solutions/vista-upgrade-corporate-fleets-costly-waste-of-time-14324">Vista Upgrade + Corporate Fleets = Costly Waste of Time</a>    <br /><a href="http://www.businessinsider.com/microsoft-terrified-the-enterprise-will-stick-with-xp-2009-2">Microsoft Terrified Companies won’t Upgrade to Win7</a>    <br /><a href="http://news.zdnet.co.uk/software/0,1000000121,39287855,00.htm">Dell Warns of Vista Upgrade Challenges</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=vh25SPQWto8:5kk-ODWojnI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=vh25SPQWto8:5kk-ODWojnI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=vh25SPQWto8:5kk-ODWojnI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=vh25SPQWto8:5kk-ODWojnI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=vh25SPQWto8:5kk-ODWojnI:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/vh25SPQWto8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2009/02/12/xp-is-good-enough/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.belshe.com/2009/02/12/xp-is-good-enough/</feedburner:origLink></item>
	</channel>
</rss>
