<?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:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" 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 />
	<lastBuildDate>Tue, 07 Sep 2010 02:05:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MikesLookout" /><feedburner:info uri="mikeslookout" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://superfeedr.com/hubbub" /><geo:lat>37.270543</geo:lat><geo:long>-122.023059</geo:long><feedburner:emailServiceId>MikesLookout</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Obamanomics Explained By Penn &amp; Teller</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/80yxXfgEUF4/</link>
		<comments>http://www.belshe.com/2010/09/06/obamanomics-explained-by-penn-teller/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 02:05:30 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/09/06/obamanomics-explained-by-penn-teller/</guid>
		<description><![CDATA[



]]></description>
			<content:encoded><![CDATA[<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:3c04a51f-d72f-4343-83c2-3ebd3d8d6a09" class="wlWriterEditableSmartContent">
<div><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/9j3_Ki6R3z0&amp;hl=en"></param><embed src="http://www.youtube.com/v/9j3_Ki6R3z0&amp;hl=en" type="application/x-shockwave-flash" width="425" height="355"></embed></object></div>
</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=80yxXfgEUF4:-hr4dgLDSkg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=80yxXfgEUF4:-hr4dgLDSkg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=80yxXfgEUF4:-hr4dgLDSkg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=80yxXfgEUF4:-hr4dgLDSkg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=80yxXfgEUF4:-hr4dgLDSkg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=80yxXfgEUF4:-hr4dgLDSkg:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=80yxXfgEUF4:-hr4dgLDSkg:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=80yxXfgEUF4:-hr4dgLDSkg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/80yxXfgEUF4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/09/06/obamanomics-explained-by-penn-teller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/09/06/obamanomics-explained-by-penn-teller/</feedburner:origLink></item>
		<item>
		<title>Time To Bust The Public Labor Unions</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/jyC0MvSIwgI/</link>
		<comments>http://www.belshe.com/2010/09/05/time-to-bust-the-public-labor-unions/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 09:22:50 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/09/05/time-to-bust-the-public-labor-unions/</guid>
		<description><![CDATA[It’s no secret that I’m not a fan of unions.&#160; But I’m even less of a fan of public-sector unions for two reasons:

As a taxpayer, I’m on the hook for the bill.
Politicians simply can’t resist giving unions money in exchange for votes.

I apologize to the firefighters, police officers, and teachers.&#160; Your jobs are extremely important.&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>It’s no secret that I’m not a fan of unions.&#160; But I’m even less of a fan of public-sector unions for two reasons:</p>
<ol>
<li>As a taxpayer, I’m on the hook for the bill.</li>
<li>Politicians simply can’t resist giving unions money in exchange for votes.</li>
</ol>
<p>I apologize to the firefighters, police officers, and teachers.&#160; Your jobs are extremely important.&#160; But we can’t afford your unions, and we need your help to bust them apart.&#160; Unions are the same cancer which bankrupted America’s once-largest-company, General Motors.&#160; Why do we let this cancer invade our state?&#160; (Oh yeah, <a href="https://encrypted.google.com/search?hl=en&amp;q=Meyers-Milias-Brown">Jerry Brown did it</a> – so don’t vote for him now)</p>
<p>Shedlock puts it well:</p>
<blockquote><p>In the case of public unions, if politicians strike a bad deal, taxpayers foot the bill. In the case of private corporations, if management strikes a bad deal, the company goes bankrupt, shareholders take a hit, or the jobs move elsewhere, as soon as the contract is up.</p>
</blockquote>
<p>If you aren’t convinced, here are some articles to read:</p>
<p><a href="http://www.businessinsider.com/heres-the-real-problem-with-labor-unions-2010-9?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed:+typepad/alleyinsider/silicon_alley_insider+(Silicon+Alley+Insider)">Here’s The Real Problem With Labor Unions</a></p>
<p><a href="http://www.city-journal.org/2010/20_2_california-unions.html">The Beholden State</a></p>
<p><a href="http://www.city-journal.org/2009/eon1123sg.html">Plundering California</a></p>
<p><a href="http://www.washingtontimes.com/news/2010/apr/23/public-sector-unions-bankrupting-america/">Public-sector unions bankrupting America</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=jyC0MvSIwgI:vXDGgRK6XL4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=jyC0MvSIwgI:vXDGgRK6XL4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=jyC0MvSIwgI:vXDGgRK6XL4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=jyC0MvSIwgI:vXDGgRK6XL4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=jyC0MvSIwgI:vXDGgRK6XL4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=jyC0MvSIwgI:vXDGgRK6XL4:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=jyC0MvSIwgI:vXDGgRK6XL4:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=jyC0MvSIwgI:vXDGgRK6XL4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/jyC0MvSIwgI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/09/05/time-to-bust-the-public-labor-unions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/09/05/time-to-bust-the-public-labor-unions/</feedburner:origLink></item>
		<item>
		<title>Chrome Turns 2</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/p57mb0or95Y/</link>
		<comments>http://www.belshe.com/2010/09/02/chrome-turns-2/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 00:31:34 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Chrome]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/09/02/chrome-turns-2/</guid>
		<description><![CDATA[ Chrome turns 2 today.&#160; Consequent with the birthday, Chrome 6 shipped today as well.
That’s 6 stable releases in 2 years.&#160; Not too bad.
I can’t believe I’ve been working on this project for 4 years now.&#160; It’s entirely too fun.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://chrome.blogspot.com/2010/09/back-to-future-two-years-of-google.html"><img title="chrome" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="230" alt="chrome" src="http://www.belshe.com/wp-content/uploads/2010/09/chrome.jpg" width="200" align="right" border="0" /> Chrome turns 2 today</a>.&#160; Consequent with the birthday, <a href="http://googlechromereleases.blogspot.com/2010/09/stable-and-beta-channel-updates.html">Chrome 6 shipped today</a> as well.</p>
<p>That’s 6 stable releases in 2 years.&#160; Not too bad.</p>
<p>I can’t believe I’ve been working on this project for 4 years now.&#160; It’s entirely too fun.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=p57mb0or95Y:m5QriOYDeKc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=p57mb0or95Y:m5QriOYDeKc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=p57mb0or95Y:m5QriOYDeKc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=p57mb0or95Y:m5QriOYDeKc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=p57mb0or95Y:m5QriOYDeKc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=p57mb0or95Y:m5QriOYDeKc:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=p57mb0or95Y:m5QriOYDeKc:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=p57mb0or95Y:m5QriOYDeKc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/p57mb0or95Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/09/02/chrome-turns-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/09/02/chrome-turns-2/</feedburner:origLink></item>
		<item>
		<title>Intel CEO Agrees that Obama Policies Stink</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/i0UOrPtxn4U/</link>
		<comments>http://www.belshe.com/2010/08/27/intel-ceo-agrees-that-obama-policies-stink/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 03:05:21 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Politics]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/08/27/intel-ceo-agrees-that-obama-policies-stink/</guid>
		<description><![CDATA[If you haven’t believed me, take it from Intel CEO Paul Otelini.&#160; Or Carly Fiorina.&#160; Or Of course, Otelini’s credibility is a little low right now after he blew $7.7B on the purchase of McAfee at a huge premium.&#160; But we’ll ignore that for now.
He’s right about America’s business-unfriendly policies and that Obama is making [...]]]></description>
			<content:encoded><![CDATA[<p>If you haven’t believed me, <a href="http://news.cnet.com/8301-13578_3-20014563-38.html">take it from Intel CEO Paul Otelini</a>.&#160; Or <a href="http://news.cnet.com/8301-13578_3-20014486-38.html?tag=mncol;txt">Carly Fiorina</a>.&#160; Or Of course, Otelini’s credibility is a little low right now after he blew $7.7B on the <a href="http://newsroom.intel.com/community/intel_newsroom/blog/2010/08/19/intel-to-acquire-mcafee">purchase of McAfee</a> at a huge premium.&#160; But we’ll ignore that for now.</p>
<p>He’s right about America’s business-unfriendly policies and that Obama is making them worse.&#160; This is important stuff – once the jobs are gone, it’s really hard to get them back.&#160; </p>
<p>Regarding current economic policy, Otellini said, “I think this group does not understand what it takes to create jobs.&#160; And I think they’re flummoxed by their experiment in Keynesian economics not working.”</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=i0UOrPtxn4U:zoRQYr9MKew:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=i0UOrPtxn4U:zoRQYr9MKew:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=i0UOrPtxn4U:zoRQYr9MKew:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=i0UOrPtxn4U:zoRQYr9MKew:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=i0UOrPtxn4U:zoRQYr9MKew:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=i0UOrPtxn4U:zoRQYr9MKew:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=i0UOrPtxn4U:zoRQYr9MKew:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=i0UOrPtxn4U:zoRQYr9MKew:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/i0UOrPtxn4U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/08/27/intel-ceo-agrees-that-obama-policies-stink/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/08/27/intel-ceo-agrees-that-obama-policies-stink/</feedburner:origLink></item>
		<item>
		<title>Feeling Unsafe About http://</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/VzJUhgzQCMk/</link>
		<comments>http://www.belshe.com/2010/08/23/feeling-unsafe-about-http/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 05:34:32 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/08/23/feeling-unsafe-about-http/</guid>
		<description><![CDATA[On the WebSockets mailing list, there is a heated discussion going on about whether or not WebSockets should be deployed over TLS (aka “https”) or not.&#160; The common misconceptions about TLS arise, of course.&#160; But it has become increasingly clear that most people view protocol security completely backwards, because of HTTP.&#160; (Thanks to Jim Roskind [...]]]></description>
			<content:encoded><![CDATA[<p>On the WebSockets <a href="http://www.ietf.org/mail-archive/web/hybi/current/msg03491.html">mailing list</a>, there is a heated discussion going on about whether or not WebSockets should be deployed over <a href="http://en.wikipedia.org/wiki/Transport_Layer_Security">TLS (aka “https”)</a> or not.&#160; The common misconceptions about TLS arise, of course.&#160; But it has become increasingly clear that most people view protocol security completely backwards, because of HTTP.&#160; (Thanks to Jim Roskind for crystallizing this)</p>
<p>Today, we view the web as two protocols:<a href="http://www.belshe.com/wp-content/uploads/2010/08/unlocked.jpg"><img title="unlocked" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="116" alt="unlocked" src="http://www.belshe.com/wp-content/uploads/2010/08/unlocked_thumb.jpg" width="100" align="right" border="0" /></a></p>
<ul>
<li>HTTP:&#160; The protocol of the web </li>
<li>HTTPS: The secure version of HTTP.&#160; Cool! </li>
</ul>
<p>But we should think of it like this:</p>
<ul>
<li>HTTPS: The protocol of the web </li>
<li>HTTP: The insecure version of HTTPS.&#160; Yikes! </li>
</ul>
<p>We shouldn’t feel <strong>safe</strong> when we use <strong>https</strong>.&#160; We should feel <strong>unsafe</strong> when we use <strong>http</strong>.</p>
<p>Our vantage point is backwards because we started with the notion that security is an “add on”.&#160; In today’s hostile networking environment, nothing could be further from the truth.&#160; Security is not a feature, but a requirement.&#160; Offering an “insecure” version for those that want to play risky should be the optional feature.&#160; This just becomes more true when you think of the fact that new protocols will be in use 10 years from now…</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=VzJUhgzQCMk:ifoSkM9U1Qw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=VzJUhgzQCMk:ifoSkM9U1Qw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=VzJUhgzQCMk:ifoSkM9U1Qw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=VzJUhgzQCMk:ifoSkM9U1Qw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=VzJUhgzQCMk:ifoSkM9U1Qw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=VzJUhgzQCMk:ifoSkM9U1Qw:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=VzJUhgzQCMk:ifoSkM9U1Qw:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=VzJUhgzQCMk:ifoSkM9U1Qw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/VzJUhgzQCMk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/08/23/feeling-unsafe-about-http/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/08/23/feeling-unsafe-about-http/</feedburner:origLink></item>
		<item>
		<title>Local Unions, National Ambitions</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/gS6h1_y-DnU/</link>
		<comments>http://www.belshe.com/2010/08/11/local-unions-national-ambitions/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 22:27:49 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/08/11/local-unions-national-ambitions/</guid>
		<description><![CDATA[ This week, shopping addicts Obama and Pelosi, spent another $26B on stimulus.&#160; They’d have you believe this is about saving jobs for teachers and firefighters.&#160; But that is such a mischaracterization.
To understand the problem, you first need to fully understand how local unions have bankrupted the states.&#160; This has hit California particularly hard over [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.belshe.com/wp-content/uploads/2010/08/nounions.jpg"><img title="nounions" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px; border-left: 0px; border-bottom: 0px" height="200" alt="nounions" src="http://www.belshe.com/wp-content/uploads/2010/08/nounions_thumb.jpg" width="200" align="right" border="0" /></a> This week, shopping addicts Obama and Pelosi, <a href="http://online.wsj.com/article/SB10001424052748704164904575421613093659730.html?mod=googlenews_wsj">spent another $26B on stimulus</a>.&#160; They’d have you believe this is about saving jobs for teachers and firefighters.&#160; But that is such a mischaracterization.</p>
<p>To understand the problem, you first need to fully understand how local unions have bankrupted the states.&#160; This has hit California particularly hard over the past 30 years, but the same drama is playing out in states across the country.&#160; For the full details, go read <a href="http://city-journal.org/2010/20_2_california-unions.html">this article to understand how Jerry Brown enabled public service workers in California to unionize, and how ever since then, California has fallen from grace</a>.</p>
<p>At this point, the Unions have tapped out the states.&#160; In the past, they’ve always been able to squeeze a little more money out of California.&#160; But California has been bled dry.</p>
<p>Recognizing that they’ve exhausted local money, the massive, cash-rich unions are turning to their only available savior:&#160; the federal government.&#160; Unfortunately, Obama and Pelosi are too clueless to know what is happening.</p>
<p>It’s sad to hear this – but it is true.&#160; We pay our public workers too much.&#160; The only solution is to cut pay or to cut workers.&#160; Federal bailouts will not cure the disease.&#160; We need to eliminate unions from our public jobs and start anew.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=gS6h1_y-DnU:QrNlrKWQTQQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=gS6h1_y-DnU:QrNlrKWQTQQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=gS6h1_y-DnU:QrNlrKWQTQQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=gS6h1_y-DnU:QrNlrKWQTQQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=gS6h1_y-DnU:QrNlrKWQTQQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=gS6h1_y-DnU:QrNlrKWQTQQ:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=gS6h1_y-DnU:QrNlrKWQTQQ:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=gS6h1_y-DnU:QrNlrKWQTQQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/gS6h1_y-DnU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/08/11/local-unions-national-ambitions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/08/11/local-unions-national-ambitions/</feedburner:origLink></item>
		<item>
		<title>I liked the old blog.pmarca.com</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/BGrOd9zalo0/</link>
		<comments>http://www.belshe.com/2010/08/03/i-liked-the-old-blog-pmarca-com/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 16:22:46 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Entertainment]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/08/03/i-liked-the-old-blog-pmarca-com/</guid>
		<description><![CDATA[ Marc’s blog is dead.&#160; Since he won’t allow comments there, I’m commenting here…
As far back as I can see, all Marc’s posts are just advertisements for Ben’s blog.&#160; Ben’s a smart guy, who I respect a lot, for a whole bunch of reasons.&#160; And he probably writes better than Marc does by a mile.&#160; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.pmarca.com/"><img title="boring2" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px; border-left: 0px; border-bottom: 0px" height="143" alt="boring2" src="http://www.belshe.com/wp-content/uploads/2010/08/boring2.jpg" width="200" align="right" border="0" /> Marc’s blog is dead</a>.&#160; Since he won’t allow comments there, I’m commenting here…</p>
<p>As far back as I can see, all Marc’s posts are just advertisements for <a href="http://bhorowitz.com/">Ben’s blog</a>.&#160; Ben’s a smart guy, who I respect a lot, for a whole bunch of reasons.&#160; And he probably writes better than Marc does by a mile.&#160; But his blog is so droll!&#160; I can never get through the first paragraph or so without falling asleep!&#160; It’s a compilation of self-help articles for entrepreneurs.&#160; Blech!</p>
<p>Marc – write!&#160; Don’t get our hopes up with this boring Management-101 crap from Ben!&#160; Hmm… wonder what he’ll say about my crappy blog…</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=BGrOd9zalo0:KujG2J3wGrs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=BGrOd9zalo0:KujG2J3wGrs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=BGrOd9zalo0:KujG2J3wGrs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=BGrOd9zalo0:KujG2J3wGrs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=BGrOd9zalo0:KujG2J3wGrs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=BGrOd9zalo0:KujG2J3wGrs:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=BGrOd9zalo0:KujG2J3wGrs:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=BGrOd9zalo0:KujG2J3wGrs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/BGrOd9zalo0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/08/03/i-liked-the-old-blog-pmarca-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/08/03/i-liked-the-old-blog-pmarca-com/</feedburner:origLink></item>
		<item>
		<title>Fixing A Hole Where the Rain Gets In… The Era of TLS Everywhere</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/uoZBDV8aemc/</link>
		<comments>http://www.belshe.com/2010/07/21/fixing-a-hole-where-the-rain-gets-in-the-era-of-tls-everywhere/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 10:26:34 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/07/21/fixing-a-hole-where-the-rain-gets-in-the-era-of-tls-everywhere/</guid>
		<description><![CDATA[With my work on SPDY, I often am asked about whether requiring TLS (aka SSL) is a good idea or not.&#160; Since SPDY is supposed to be about low-latency performance, how does something like TLS, which is traditionally thought to be slow, wedge it’s way into the design?
The answer is simple:&#160; users want it.
But how [...]]]></description>
			<content:encoded><![CDATA[<p>With my work on<a href="http://dev.chromium.org/spdy"> SPDY</a>, I often am asked about whether requiring<a href="http://en.wikipedia.org/wiki/Transport_Layer_Security"> TLS</a> (aka SSL) is a good idea or not.&#160; Since SPDY is supposed to be about low-latency performance, how does something like TLS, which is traditionally thought to be slow, wedge it’s way into the design?</p>
<p>The answer is simple:&#160; users want it.</p>
<p><strong>But how did we get here anyway?     <br /></strong>If I told you that I was building a house with no locks, surely you’d ask me to install locks.&#160; Then, if I grumpily installed a lock only on the front door, you’d tell me to go install locks on all the doors.&#160; But this is essentially the web we have today.&#160; When you’re using TLS, nobody can get through your front door.&#160; But when you’re not using TLS, potential attackers can easily see exactly what you’re doing on every website you visit.&#160; How is it that we’ve built a house without locks?</p>
<p>When the web was invented in the early 1990’s, there was little need for locks.&#160; It was about sharing information, not purchasing your new TV or sending your medical information to your doctor.&#160; And because it wasn’t a critical means of communication, would-be eavesdroppers would rather tap your phone than tap your Internet.</p>
<p>Netscape, recognizing the need for security on the web to facilitate e-commerce, <a href="http://tools.ietf.org/html/draft-hickman-netscape-ssl-00">invented SSL</a> (the predecessor to TLS).&#160; At that time, SSL was computationally expensive and algorithmically unproven.&#160; Forcing everything to run over SSL then would have been impractical.&#160; Instead, two protocols were used, https for data exchanges which were critically sensitive, and http for everything else.&#160; It worked.</p>
<p>Since that time, the computational overhead of TLS has dropped by orders of magnitude, and the protocol has held up to algorithmic scrutiny.&#160; At the same time, the web has grown massively, evolving from a system designed for sharing of ideas into a system which carries our most sensitive and personal secrets.&#160; But despite that, the security of our communications has not changed much.&#160; Don’t get me wrong &#8211; it’s not all bad.&#160; The most critical information exchanged with our banks and online purchases is usually secured by using TLS, which is great.&#160; And on some sites, <a href="http://www.readwriteweb.com/archives/gmail_goes_secure.php">email is secure too</a>.&#160; But the majority of web traffic is still sent insecurely, using HTTP.</p>
<p>Users have grown accustomed to security problems on the net which are far worse than the lack of protocol security, and the need for protection has been relatively low.&#160; But as our lives move from physical to digital, the desire of hackers, governments, and the otherwise unscrupulous grows massively too.</p>
<p>So, from a user’s perspective, instead of asking the question, <em><strong>why does SPDY require encryption and authentication</strong></em>, a better question would be to ask, <strong><em>why not</em></strong>?</p>
<p><strong>What Does TLS Do?     <br /></strong>TLS, which is most commonly used by users when they go to a site using a https:// URL, offers two basic features: server authentication and data encryption.</p>
<p>Server authentication is a mechanism where the client can know that a site is trusted to be who the site claims to be.&#160; For example, when you visit http://www.bankofamerica.com/, TLS uses a system of known trust points to validate that this site really is Bank of America, according to a service that your browser has chosen to trust because it <a href="http://technet.microsoft.com/en-us/library/cc751157.aspx">complies with a detailed set of specific security practices</a>.&#160; Yeah, it’s complex, but the complexity is hidden from the user.</p>
<p>Data encryption is what prevents others from reading the data that you send over the Internet.</p>
<p><strong>The Argument For Maintained Insecurity</strong>    <br />At this point, I think I’ve heard all the arguments against TLS.&#160; Some are valid, and some are not.&#160; But we can overcome all of them.</p>
<p><strong>Invalid Argument #1:&#160; Certificates Are Costly And Too Hard to Deploy     <br /></strong>Certificates are a critical element of trust for implementing server authentication within TLS.&#160; Any site wishing to use TLS must get a certificate so that they can prove ownership of a site.&#160; Verifying your identity is a manual, offline, and usually time consuming process.&#160; So typically the companies offering these service charge fees to do so.</p>
<p>The cost of a certificate used to be really high &#8211; even over $1000.&#160; But these days, certificates can be surprisingly cheap, sometimes less than $10 (or even <a href="http://cert.startcom.org/">for free</a>).&#160;&#160; At this cost, it is insignificant.</p>
<p>Despite the low cost, maintaining a certificate on a website is difficult. Server administrators must take precautions to protect their identity, and getting the right keys and certificates to the right servers is time consuming.</p>
<p>But in the end, this is not an argument for the user.&#160; This is an argument for a website that wants to save a relatively small amount of money.&#160; User security is more important than that.</p>
<p><strong>Invalid Argument #2:&#160; It’s Just a Youtube Video, We Don’t Need To Secure It     <br /></strong>Some content is so public, that many people believe that it doesn’t need to be secured, and this is partially true.&#160; For example, I really don’t care if someone sees the traffic I sent to Facebook today, because I’m posting that data publicly on the web already.&#160; It’s obvious.</p>
<p>But the problem is that when we offer two modes of communication, one secure and one not secure, we punt the problem to the user:&#160; “Do I need to send this securely?”&#160; Even if the user did know the answer to that question, and most users don’t, what one user may consider public information may be very sensitive to another.&#160; The only way to solve the problem for everyone is to always send data securely so that users don’t need to disambiguate.</p>
<p><strong>Invalid Argument #3: Schools and Families Can’t Filter With TLS     <br /></strong>Earlier this year, Google enabled a new feature, <a href="http://googleblog.blogspot.com/2010/05/search-more-securely-with-encrypted.html">Encrypted Web Search</a>.&#160; This feature didn’t force all communications to use TLS, it simply allowed the users to choose it if they wanted to.&#160; Unfortunately, this feature rollout was matched with cries from schools that they could no longer enforce content filtering for their students, which they are required to do by law.</p>
<p><em>Side note</em>:&#160; Its ironic that Google is often criticized by our governments for not being sensitive enough about privacy.&#160; However in this case, when Google rolled out a feature to enhance privacy, that same government complained that Google is preventing censorship of our children.&#160; But, that’s politics! <img src='http://www.belshe.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Seriously, schools have a legitimate need here.&#160; They want to protect children from adult material, and they have bought solutions to this problem from many vendors.&#160; But unfortunately, most of those solutions leverage the fact that the web is insecure to implement the filtering!&#160; If we encrypt the web, these filters no longer work, and that is a problem for schools.&#160; It should be noted as well&#160; that these solutions already break when kids at school use SSL proxies (such <a href="https://freesslproxy.com/">as this one</a>, or <a href="https://launchwebs.org/">this one</a>, or <a href="https://www.facebookfirewall.com/">this one</a>).&#160; But the filters don’t have to be perfect, so these problems are overlooked.&#160; The filtering vendors are in a constant arms race with services which attempt to circumvent the filters.</p>
<p>I really do sympathize with schools, and nobody wants to levy a costly solution on our already cash strapped schools.&#160; But filtering can be solved even in the presence of encryption; it is just a little harder. Many solutions exist, and we need to move the filtering to be certificate aware.</p>
<p>It doesn’t make sense to sacrifice the security of the entire web so that we can continue to enable cheap filtering in schools today.</p>
<p><strong>Invalid Argument #4:&#160; Debugging The Web Is More Difficult     <br /></strong>A natural consequence of security is that you can’t read the communications between the clients and servers easily.&#160; For web developers, this can make it more difficult to find bugs.&#160; Yes, it’s true.&#160; Debugging is still possible, it is just harder.&#160; But developer laziness is not a good reason to keep the internet insecure.</p>
<p><strong>Invalid Argument #5: Political Backlash     <br /></strong>Some governments are pretty adamant about their need to filter the net, and they aggressively&#160; filter using complicated techniques.&#160; If the web attempts to move to an all-encrypted protocol, these governments may decide to ban the protocol altogether.&#160; Yeah, I guess that is true.&#160; At some point, the citizens might want to revolt. I’m lucky I don’t live there, but that’s not a good reason why other countries can’t choose privacy.</p>
<p><strong>Invalid Argument #6:&#160; Existing Servers At Capacity Will Break     <br /></strong>Some websites today are already running their servers at full capacity.&#160; If we add security to the protocol, which requires even 1% more server resources, these sites could get slow.</p>
<p>While this is probably a true statement, it’s really not the user’s problem.&#160; I don’t see this as a compelling reason to not improve the security of the web.</p>
<p><strong>Invalid Argument #7: Features of Transparent Proxies</strong>    <br />Because the web is insecure today, it is possible for network operators to install transparent proxies which inspect the insecure traffic and change it.&#160; Sometimes these proxies do good things, like scan for viruses and malware.&#160; But other times, these proxies do bad things, such as <a href="http://code.google.com/speed/articles/use-compression.html">turn off compression</a>.</p>
<p>From experience, we know that there are a lot of problems with transparent proxies.&#160; And these proxies are <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=264354">generally considered to be an obstacle for protocol evolution</a> on the internet.&#160; For instance, HTTP’s pipelining is currently disabled in all browsers largely because proxies make it impossible to deploy.</p>
<p>Enabling security on the web does not prevent the anti-virus and anti-malware “good” proxies.&#160; It just means they have to be explicit.&#160; But turning on security does prevent the proxies which intentionally or inadvertently break the protocol.</p>
<p>&#160;</p>
<p>Ok &#8211; so that is the list of what I consider invalid arguments.&#160; But there are a couple of valid arguments too.</p>
<p>&#160;</p>
<p><strong>Valid Argument #1: TLS is Too Slow!     <br /></strong>It’s true.&#160; TLS is too slow.&#160; This is in part because TLS is used so rarely that nobody has bothered to optimize it, and in part because it is difficult to change.&#160; The net result is that secure communications are slower than insecure communications.&#160; This will probably always be true, but doesn’t mean we can’t solve the problem enough to make it insignificant.</p>
<p>To understand the problem, we need to recognize there are 4 parts to TLS performance:   <br />&#160; a) The round-trip-times of the TLS authentication handshake    <br />&#160; b) The CPU cost of the PKI operations during the handshake    <br />&#160; c) The additional CPU to encrypt data being transferred    <br />&#160; d) The additional bandwidth due to TLS record overhead</p>
<p>a) The additional round-trips of TLS are real and need to be addressed.&#160; Today, the first connection to a site requires 2 round-trips for server authentication, and subsequent connections require 1 round-trip.&#160; <a href="http://tools.ietf.org/html/draft-agl-tls-snapstart-00">Adam Langley has proposed a protocol change</a> which reduces these to 0 round-trips (<a href="http://www.imperialviolet.org/2010/06/25/overclocking-ssl.html">more details here</a>).&#160; So for the sites you visit regularly, TLS will no longer incur any extra round trips.</p>
<p>b) The cost of PKI operations these days is super cheap.&#160; While these complex math computations took hundreds of milliseconds in the mid-1990’s, faster processor speeds make them take nanoseconds today. With optional hardware offloading, this is just not a problem.</p>
<p>c) Many people assume that bulk-data encryption is expensive.&#160; This is not true; the most common bulk encryption used with TLS today is the RC-4 cipher.&#160;&#160; RC-4 is extremely cheap computationally, and we’ve measured it has no additional latency costs when compared to the NULL cipher.&#160; Other encryption algorithms can have small costs (such as AES), but they’re still quite fast and you don’t have to use them.</p>
<p>d) We’ve measured SSL using ~3% more bandwidth than non-SSL. That is a relatively low overhead number, but it does add a non-trivial amount of latency.&#160; For a 320KB web page, 3% more data can add 30-80ms to the web page load time.&#160; Fortunately, bandwidth speeds continue to rise, and because of this, we don’t see the 3% overhead as excessive.</p>
<p>Overall, we believe (b) and (c) are non problems.&#160; We believe we can solve most of (a), and that (d) is an acceptable cost, mitigated by bandwidth improvements over time.</p>
<p><strong>Valid Argument #2: Caching Servers Don’t Work With TLS     <br /></strong>One of the most complicated parts of web communications today is communicating with proxy servers.&#160; Proxies have many purposes, but one of them is to cache content closer to the client to reduce latency. For example, if two users in Australia are both communicating to the same server in London, it reduces latency for the second user if he can use a cached copy of the content that the first user already downloaded.&#160; Unfortunately, when all traffic is private, the proxy servers don’t know what data is being sent, and so they can’t cache it for other users.&#160; This can make the user’s bandwidth costs go up and also increase his page load times.</p>
<p>But the use of proxy servers over the past few years has eased as the age of the Content-Delivery-Network has grown.&#160; <a href="http://en.wikipedia.org/wiki/Content_delivery_network">Content Delivery Networks (CDNs)</a> are a mechanism where websites can distribute content to a server which is proximal to the user regardless of whether the user has set up a proxy or not.&#160; CDN usage today is extremely common and growing.&#160; Almost all of the top-100 websites use CDNs to offer performance which is even better than proxy servers.&#160; Speculatively, we could guess that in the future all content will be delivered through CDNs as more and more sites move to hosted cloud computing platforms which will have the infrastructure of a CDN.</p>
<p>Given the use of CDNs and the decentralized use of proxy servers, it is hard to quantify the benefit of proxy servers today.&#160; We know that the majority of Internet users do not use caching proxies at all.&#160; But we also know that for some users they are very useful.&#160; And if we move to all secure communications, those users will no longer have caching proxies.&#160; I don’t have a good answer for this problem, except to say that I don’t think it is a huge problem, and that it is mitigated by CDNs. But I confess I lack data as well.</p>
<p><strong>Conclusion     <br /></strong>Changing protocols is not something we do very often.&#160; <a href="http://en.wikipedia.org/wiki/Internet_Protocol_Suite">TCP/IP</a> are over 30 years old, despite <a href="http://en.wikipedia.org/wiki/IPv6">attempts to replace them</a>.&#160; As such, the opportunity to improve network security does not come up often, and is not one to be overlooked.&#160; SPDY is a unique opportunity to improve not just HTTP, but also the fundamental underpinnings of how we communicate.</p>
<p>From the user’s perspective, the only argument against TLS is performance, which we believe we are actively solving.&#160; The other arguments don’t help the users &#8211; they help server and IT administrators.&#160; As we look to build the next generation Internet protocols, should we be looking out for the user or the administrator? SPDY wants to make sure the user is safe and in control.</p>
<p>It would be easier to make SPDY successful without TLS.&#160; Biting off security in addition to performance is a huge task that almost seems counter productive.&#160; But, lack of security is such a gaping hole in today’s Internet infrastructure, that we just don’t feel it can be overlooked.&#160; If security does prove to be an insurmountable task, we can always fall back to the same-old-same-old insecure plan.&#160; That is easy.&#160; But pushing things forward?&#160; When will we ever get that opportunity again? Maybe never.</p>
<p>It is sad that network traffic today is insecure.&#160; It will be absolutely tragic if network traffic in the year 2020 is still insecure.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=uoZBDV8aemc:B8qHMpfD8ww:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=uoZBDV8aemc:B8qHMpfD8ww:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=uoZBDV8aemc:B8qHMpfD8ww:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=uoZBDV8aemc:B8qHMpfD8ww:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=uoZBDV8aemc:B8qHMpfD8ww:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=uoZBDV8aemc:B8qHMpfD8ww:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=uoZBDV8aemc:B8qHMpfD8ww:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=uoZBDV8aemc:B8qHMpfD8ww:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/uoZBDV8aemc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/07/21/fixing-a-hole-where-the-rain-gets-in-the-era-of-tls-everywhere/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/07/21/fixing-a-hole-where-the-rain-gets-in-the-era-of-tls-everywhere/</feedburner:origLink></item>
		<item>
		<title>Obama’s Wars</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/g_ErNeKFKP8/</link>
		<comments>http://www.belshe.com/2010/07/18/obamas-wars/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 16:56:40 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/07/18/obamas-wars/</guid>
		<description><![CDATA[ I voted for Obama for one reason:&#160; I thought he was more likely to get us out of Iraq.&#160; I was wrong.&#160; Obama’s stance was clear: he just needed 18 months to do the job.&#160; That deadline is Tuesday.
There are currently still 85,000-100,000 US troops in Iraq.&#160; All other countries have already pulled out.&#160; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.belshe.com/wp-content/uploads/2010/07/obamaswar.jpg"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 0px 10px; display: inline; border-top: 0px; border-right: 0px" title="obamaswar" border="0" alt="obamaswar" align="right" src="http://www.belshe.com/wp-content/uploads/2010/07/obamaswar_thumb.jpg" width="244" height="228" /></a> I voted for Obama for one reason:&#160; I thought he was more likely to get us out of Iraq.&#160; I was wrong.&#160; Obama’s stance was clear: he just needed 18 months to do the job.&#160; That deadline is Tuesday.</p>
<p>There are currently still 85,000-100,000 US troops in Iraq.&#160; All other countries have already pulled out.&#160; Just as under the Bush administration, the objective of our presence in the region is unclear.</p>
<p>And although his campaign promises were to reduce the US war efforts, Obama has also more than doubled US troop levels in Afghanistan in the past year.&#160; If you think this is Bush’s war, you’re wrong.&#160; Obama did this.</p>
<p>Obama’s failure to hold to his campaign promise is just one more reason why he will never again get a vote from me.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=g_ErNeKFKP8:kHrGTBQCF0Q:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=g_ErNeKFKP8:kHrGTBQCF0Q:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=g_ErNeKFKP8:kHrGTBQCF0Q:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=g_ErNeKFKP8:kHrGTBQCF0Q:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=g_ErNeKFKP8:kHrGTBQCF0Q:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=g_ErNeKFKP8:kHrGTBQCF0Q:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=g_ErNeKFKP8:kHrGTBQCF0Q:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=g_ErNeKFKP8:kHrGTBQCF0Q:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/g_ErNeKFKP8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/07/18/obamas-wars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/07/18/obamas-wars/</feedburner:origLink></item>
		<item>
		<title>Velocity 2010 Chrome Slides</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/YTpztX7BKlM/</link>
		<comments>http://www.belshe.com/2010/06/25/velocity-2010-chrome-slides/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 17:09:53 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/06/25/velocity-2010-chrome-slides/</guid>
		<description><![CDATA[Yesterday I had the opportunity to speak at Velocity on behalf of Chrome as part of a browser panel discussion.&#160; I met a lot of very smart folks and had some great discussions.&#160; Representatives from Firefox and Internet Explorer were also there.&#160; Many people asked, “where is Safari”.&#160; I know Apple doesn’t like these sorts [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I had the opportunity to speak at Velocity on behalf of Chrome as part of a <a href="http://en.oreilly.com/velocity2010/public/schedule/detail/15314">browser panel discussion</a>.&#160; I met a lot of very smart folks and had some great discussions.&#160; Representatives from Firefox and Internet Explorer were also there.&#160; Many people asked, “where is Safari”.&#160; I know Apple doesn’t like these sorts of events, but they were missed.&#160; Anyway, here are my slides.</p>
<p><a href="http://www.belshe.com/test/velocity2010/"> <img title="Google Chrome Velocity 2010 Presentation" style="-webkit-box-reflect:below 5px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.8, transparent), to(white));-webkit-border-radius: 10px;margin-bottom: 60px;" src="http://www.belshe.com/wp-content/uploads/2010/06/slides.png" width="480"></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=YTpztX7BKlM:Nv5qnY2O_Po:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=YTpztX7BKlM:Nv5qnY2O_Po:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=YTpztX7BKlM:Nv5qnY2O_Po:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=YTpztX7BKlM:Nv5qnY2O_Po:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=YTpztX7BKlM:Nv5qnY2O_Po:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=YTpztX7BKlM:Nv5qnY2O_Po:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=YTpztX7BKlM:Nv5qnY2O_Po:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=YTpztX7BKlM:Nv5qnY2O_Po:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/YTpztX7BKlM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/06/25/velocity-2010-chrome-slides/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/06/25/velocity-2010-chrome-slides/</feedburner:origLink></item>
		<item>
		<title>Obama: “Leave Those Kids Alone!”</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/LyV7nlxYp3E/</link>
		<comments>http://www.belshe.com/2010/06/07/obama-leave-those-kids-alone/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 17:35:53 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Politics]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/06/07/obama-leave-those-kids-alone/</guid>
		<description><![CDATA[Arrington has it right – when asked by the Feds, “how can the President and the Federal Government can increase high-tech entrepreneurship in America?”, Arrington’s simple reply is “Leave Us Alone!”

]]></description>
			<content:encoded><![CDATA[<p><a href="http://techcrunch.com/2010/06/07/heres-how-the-government-can-fix-silicon-valley-leave-it-alone">Arrington has it right</a> – when asked by the Feds, “how can the President and the Federal Government can increase high-tech entrepreneurship in America?”, Arrington’s simple reply is “Leave Us Alone!”</p>
<p><a href="http://despair.com/"><img title="government" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="341" alt="government" src="http://www.belshe.com/wp-content/uploads/2010/06/government.jpg" width="406" border="0" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=LyV7nlxYp3E:17NGR9XNNhU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=LyV7nlxYp3E:17NGR9XNNhU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=LyV7nlxYp3E:17NGR9XNNhU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=LyV7nlxYp3E:17NGR9XNNhU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=LyV7nlxYp3E:17NGR9XNNhU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=LyV7nlxYp3E:17NGR9XNNhU:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=LyV7nlxYp3E:17NGR9XNNhU:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=LyV7nlxYp3E:17NGR9XNNhU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/LyV7nlxYp3E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/06/07/obama-leave-those-kids-alone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/06/07/obama-leave-those-kids-alone/</feedburner:origLink></item>
		<item>
		<title>Chrome: Cranking Up The Clock</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/NoD5wUj0Ijw/</link>
		<comments>http://www.belshe.com/2010/06/04/chrome-cranking-up-the-clock/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 05:32:14 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/06/04/chrome-cranking-up-the-clock/</guid>
		<description><![CDATA[
Over the past couple of years, several of us have dedicated a lot of time to Chrome’s timer system. Because we do things a little differently, this has raised some eyebrows. Here is why and what we did.     
Goal     Our goal was to have fast, precise, and [...]]]></description>
			<content:encoded><![CDATA[<p><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></meta><meta http-equiv="Content-Style-Type" content="text/css" /></meta><meta content="Aspose.Words for Java 4.0.2.0" name="generator" />
<p>Over the past couple of years, several of us have dedicated a lot of time to <a href="http://www.google.com/chrome">Chrome’s</a> timer system. Because we do things a little differently, this has raised some eyebrows. Here is why and what we did.     </p>
<p><strong>Goal</strong>     <br />Our goal was to have <em>fast</em>, <em>precise</em>, and <em>reliable</em> timers. By “fast”, I mean that the timers should fire repeatedly with a low period. Ideally we wanted microsecond timers, but we eventually settled for millisecond timers. By “precise”, I mean we wanted the timer system to work without drift &#8211; you should be able to monitor timers over short or long periods of time and still have them be precise. And by “reliable”, I mean that timers should fire consistently at the right times; if you set a 3.67ms timer, it should be able to fire repeatedly at 3.67ms without significant variance.     </p>
<p><strong>Why?      <br /></strong>It may be surprising to hear that we had to do any work to implement these types of timers. After all, timers are a fundamental service provided by all operating systems. Lots of browsers use simpler mechanisms and they seem to work just fine. Unfortunately, the default timers really are too slow.     </p>
<p>Specifically, Windows timers by default will only fire with a period of ~15ms. While processor speeds have increased from 500Mhz to 3Ghz over the past 15 years, the default timer resolution has not changed.&#160; And at 3GHz,15ms is an eternity.     </p>
<p>This problem does affect web pages in a very real way. Internally, browsers schedule time-based tasks to run a short distance in the future, and if the clock can’t tick faster than 15ms, that means the application will sleep for at least that long. To demonstrate, Erik Kay wrote a nice <a href="http://www.belshe.com/test/sort/sort.html">visual sorting test</a>. Due to how Javascript and HTML interact in a web page, applications such as this sorting test use timers to balance execution of the script with responsiveness of the webpage.     </p>
<p>John Resig at Mozilla was also <a href="http://ejohn.org/blog/analyzing-timer-performance/">wrote a great test for measuring the scalability, precision, and variance of timers</a>. He conducted his tests on the Mac, but here is a quick test on Windows.     </p>
<p>In this chart, we’re looking at the performance of IE8, which is similar to what Chrome’s timers looked like prior to our timer work. As you can see, the timers are slow and highly variable. They can’t fire faster than ~15ms.&#160; </p>
<p><a href="http://www.belshe.com/wp-content/uploads/2010/06/timers.IE_1.png"><img title="timers.IE" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="319" alt="timers.IE" src="http://www.belshe.com/wp-content/uploads/2010/06/timers.IE_thumb1.png" width="640" border="0" /></a>     </p>
<p><strong>A Seemingly Simple Solution      <br /></strong>Internally, Windows applications are often architected on top of <a href="http://en.wikipedia.org/wiki/Event_loop">Event Loops</a>. If you want to schedule a task to run later, you must queue up the task and wake your process later. On Windows, this means you’ll eventually land in the function <a href="http://msdn.microsoft.com/en-us/library/ms687028%28VS.85%29.aspx">WaitForMultipleObjects()</a>, which is able to wait for UI events, file events, timer events, and custom events.&#160; (<a href="http://src.chromium.org/viewvc/chrome/trunk/src/base/message_loop.h?view=markup">Here is a link to Chrome’s central message loop code</a>) By default, the internal timer for all wait-event functions in Windows is 15ms. Even if you set a 1ms timeout on these functions, it will only wake up once every 15ms (unless non-timer related events are pumped through it).     </p>
<p>To change the default timer, applications must call <a href="http://msdn.microsoft.com/en-us/library/dd757624%28VS.85%29.aspx">timeBeginPeriod()</a>, which is part of the multimedia timers API. This function changes the clock frequency and is close to what we want.&#160; Its lowest granularity is still only 1ms, but that is a lot better than 15ms. Unfortunately, it also has a a couple of seriously scary side effects. The first side effect is that it is system wide. When you change this value, you’re impacting global thread scheduling among all processes, not just yours. Second, this API also effects the system’s ability to get into it’s lowest-power sleep states.    </p>
<p>Because of these two side effects, we were reluctant to use this API within Chrome. We didn’t want to impact any process other than a Chrome process, and all of the possible impacts of the API were nebulous.&#160; Unfortunately, there are no other APIs which could make our message loop work quickly. Although Windows does have a high-performance cycle counter API, that API is slow to execute<sup>1</sup>, has bugs on some AMD hardware<sup>2</sup>, and has no effect on the system-wide wait functions.     </p>
<p><strong>Justifying timeBeginPeriod</strong>     <br />At one point during our development, we were about to give up on using the high resolution timers, because they just seemed too scary.&#160; But then we discovered something. Using <a href="http://en.wikipedia.org/wiki/WinDbg">WinDbg</a> to monitor Chrome, we discovered that every major multi-media browser plugin was already using this API. And this included Flash<sup>3</sup>, Windows Media Player, and even QuickTime.&#160; Once we discovered this, we stopped worrying about Chrome’s use of the API.&#160; After all &#8211; what percentage of the time is Flash open when your browser is open?&#160; I don’t have an exact number, but it’s a lot. And since this API effects the system globally, most browsers are already running in this mode.     </p>
<p>We decided to make this the default behavior in Chrome.&#160; But we hit another roadblock for our timers. </p>
<p><strong>Browser Throttles and Multi-Process</strong>     <br />With the high-resolution timer in place, we were now able to set events quickly for Chrome’s internals.&#160; Most internal delayed tasks are long timers, and didn’t need this feature, but there are a half dozen or so short timers in the code, and these did materially benefit. Nonetheless, the one which matters most, the timer stall for the browser’s <a href="http://www.w3schools.com/js/js_timing.asp">setTimeout and setInterval </a>functions did not yet benefit. This is because our WebKit code (and other browsers do this too) was intentionally preventing any timer sustaining a faster than 10ms tick.     </p>
<p>There are probably several reasons for the 10ms timer in browsers. One was simply for convention. But another is because some websites are poorly written, and will set timers to run like crazy.&#160; If the browser attempts to service the timers, this can spin the CPU, and who gets the bug report when the browser is spinning? <em>The browser vendor, of course</em>.&#160; It doesn’t matter that the real bug is in the website, and not the web browser, so it is important for the browser to address the issue.    </p>
<p>But the 3rd, and probably most critical reason is that most single-process browser architectures can become non-responsive if you allow websites to loop excessively with 0-millisecond delays in their JavaScript. Remember that browsers are generally written on top of Event Loops.&#160; If the slow JavaScript interpreter is constantly scheduling a wakeup through a 0ms timer, this clogs the Event Loop which also processes mouse and keyboard events. The user is left with not just a spinning CPU, but a basically hung browser.&#160; While I was able to reproduce this behavior in single-process browsers, Chrome turned out to be immune &#8211; and the reason was because of <a href="http://www.chromium.org/developers/design-documents/multi-process-architecture">Chrome’s multi-process architecture</a>. Chrome puts the website into a separate process (called a “renderer”) from the browser’s keyboard and mouse handling process.&#160; Even if we spin the CPU in a renderer, the browser remains completely responsive, and unless the user is checking her Task Manager, she might not even notice.     </p>
<p>So the multi-process architecture was the enabler. We wrote a simple test <a href="http://www.belshe.com/test/timers.html">page to measure the fastest time through the setTimeout call</a> and verified that a tight loop would not damage Chrome’s responsiveness.&#160; Then, we modified WebKit to reduce the throttle from 10ms to 1ms and shipped the world’s peppiest beta browser: Chrome 1.0beta.     </p>
<p><strong>Real World Problems</strong>     <br />Our biggest fear with shipping the product was that we would identify some website which was spinning the CPU and annoying users.&#160; We did identify a couple of these, but they were with relatively obscure sites. Finally, we found one which mattered &#8211; a small newspaper known as the New York Times. The NYTimes is a well constructe site &#8211; they just ran into a little bug with a popular script called prototype.js, and this hadn’t been an issue before Chrome cranked up the clock. We <a href="https://prototype.lighthouseapp.com/projects/8886/tickets/346-nytimes-on-safari-error-with-double-included-prototypejs">filed a bug</a>, but we had to change Chrome too. At this point, with a little experimentation we found that <a href="http://src.chromium.org/viewvc/chrome?view=rev&amp;revision=3170">increasing the minimum timer from 1ms to 4ms</a> seemed to work reasonably well on most machines. Indeed, to this day, Chrome still uses a 4ms minimum tick.     </p>
<p>Soon, a second problem emerged as well. Engineers at Intel pointed out that <a href="http://software.intel.com/en-us/articles/cpu-power-utilization-on-intel-architectures/">Chrome was causing laptops to consume a lot more power</a>. This was a far more serious problem and harder to fix.&#160; We were not concerned much about the impact on desktops, because Flash, Windows Media Player, and QuickTime, were already causing this to be true.&#160; But for laptops, this was a big problem. To mitigate, we started tapping into the Windows Power APIs, to monitor when the machine is running on battery power. So before Chrome 1.0 shipped out of beta, we modified it to turn off fast timers if it detects that the system is running on batteries. Since we implemented this fix, we haven’t heard many complaints.     </p>
<p><strong>Results</strong>     <br />Overall, we’re pretty happy with the results.&#160; First off, we can look at John Resig’s timer performance test. In contrast to the default implementation,&#160; Chrome has very smooth, consistent, and fast timers:&#160; </p>
<p><a href="http://www.belshe.com/wp-content/uploads/2010/06/timers.chrome1.png"><img title="timers.chrome" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="319" alt="timers.chrome" src="http://www.belshe.com/wp-content/uploads/2010/06/timers.chrome_thumb1.png" width="640" border="0" /></a>     </p>
<p>Finally, here is the result at the Visual Sorting Test mentioned above.&#160; With a faster clock in hand, we see performance doubles.&#160; </p>
<p><a href="http://www.belshe.com/wp-content/uploads/2010/06/clock1.png"><img title="clock" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="285" alt="clock" src="http://www.belshe.com/wp-content/uploads/2010/06/clock_thumb1.png" width="640" border="0" /></a>     </p>
<p><strong>Future Work</strong>     <br />We’d still like to eliminate the use of timeBeginPeriod.&#160; It is unfortunate that it has such side effects on the system. One solution might be to create a dedicated timer thread, built atop the machine cycle counter (despite the problems with QueryPerformanceCounter), which wakens message loops based on self-calculated, sub-millisecond timers. This sounds trivial, but if we forget any operating system call which is stuck in a wait and don’t manually wake it, we’ll have janky timers. We’d also like to bring the current 4ms timer back down to 1ms. We may be able to do this if we better detect when web pages are accidentally spinning the CPU.     </p>
<p>From the operating system side, we’d like to see sub-millisecond event waits built in by default which don’t use CPU interrupts or otherwise prevent CPU sleep states. A millisecond is a long time.</p>
<p><font size="1">1. Although written in 2003, the data in this article is still relatively accurate: </font><a href="http://www.drdobbs.com/article/printableArticle.jhtml?articleId=184416651&amp;dept_url=/"><font size="1">Win32 Performance Measurement Options</font></a><font size="1">.&#160; <br /></font><font size="1">2. <a href="http://developer.amd.com/assets/TSC_Dual-Core_Utility.pdf">http://developer.amd.com/assets/TSC_Dual-Core_Utility.pdf</a>       <br />3. Note:&#160; The latest versions of Flash (10) no longer use timeBeginPeriod.      <br />NOTE: This article is my own view of events, and do not reflect the views of my employer.</font></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=NoD5wUj0Ijw:0QSQ6cnOk7o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=NoD5wUj0Ijw:0QSQ6cnOk7o:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=NoD5wUj0Ijw:0QSQ6cnOk7o:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=NoD5wUj0Ijw:0QSQ6cnOk7o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=NoD5wUj0Ijw:0QSQ6cnOk7o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=NoD5wUj0Ijw:0QSQ6cnOk7o:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=NoD5wUj0Ijw:0QSQ6cnOk7o:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=NoD5wUj0Ijw:0QSQ6cnOk7o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/NoD5wUj0Ijw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/06/04/chrome-cranking-up-the-clock/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/06/04/chrome-cranking-up-the-clock/</feedburner:origLink></item>
		<item>
		<title>Microsoft No Longer The World’s Largest Tech Company</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/PvN_FWO8zms/</link>
		<comments>http://www.belshe.com/2010/05/26/microsoft-no-longer-the-worlds-largest-tech-company/#comments</comments>
		<pubDate>Wed, 26 May 2010 23:33:55 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/05/26/microsoft-no-longer-the-worlds-largest-tech-company/</guid>
		<description><![CDATA[AAPL today ousted MSFT from the top spot as the world’s largest tech company (based on market cap).
This puts Apple and Microsoft in the #2 and #3 spots for largest US companies.&#160; #1 is Exxon Mobil.&#160; Of course, this could all re-shuffle tomorrow!

]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.google.com/finance?q=aapl">AAPL</a> today ousted <a href="http://www.google.com/finance?q=msft">MSFT</a> from the top spot as the world’s largest tech company (based on market cap).</p>
<p>This puts Apple and Microsoft in the #2 and #3 spots for largest US companies.&#160; #1 is <a href="http://www.google.com/finance?q=exxon">Exxon Mobil</a>.&#160; Of course, this could all re-shuffle tomorrow!</p>
<p><a href="http://www.belshe.com/wp-content/uploads/2010/05/aaplmarketcap.jpg"><img title="aaplmarketcap" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="304" alt="aaplmarketcap" src="http://www.belshe.com/wp-content/uploads/2010/05/aaplmarketcap_thumb.jpg" width="404" border="0" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=PvN_FWO8zms:SiTgsijC_60:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=PvN_FWO8zms:SiTgsijC_60:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=PvN_FWO8zms:SiTgsijC_60:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=PvN_FWO8zms:SiTgsijC_60:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=PvN_FWO8zms:SiTgsijC_60:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=PvN_FWO8zms:SiTgsijC_60:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=PvN_FWO8zms:SiTgsijC_60:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=PvN_FWO8zms:SiTgsijC_60:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/PvN_FWO8zms" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/05/26/microsoft-no-longer-the-worlds-largest-tech-company/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/05/26/microsoft-no-longer-the-worlds-largest-tech-company/</feedburner:origLink></item>
		<item>
		<title>Democrats Agree – Democrat Policies Caused California Financial Crisis</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/4CfZqSj9YGY/</link>
		<comments>http://www.belshe.com/2010/05/26/democrats-agree-democrat-policies-caused-california-financial-crisis/#comments</comments>
		<pubDate>Wed, 26 May 2010 15:01:00 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/05/26/democrats-agree-democrat-policies-caused-california-financial-crisis/</guid>
		<description><![CDATA[ Willie Brown, former State Speaker and also former Mayor of San Francisco, made a surprising interview this week.&#160; In an unusual interview,&#160; he acknowledged that his Democratic political agenda is largely responsible the the financial meltdown here in California.
His quotes in the interview are jaw-dropping.&#160; Not only does he admit that the spending policies [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.belshe.com/wp-content/uploads/2010/05/brown.jpg"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="brown" border="0" alt="brown" align="right" src="http://www.belshe.com/wp-content/uploads/2010/05/brown_thumb.jpg" width="129" height="126" /></a> Willie Brown, former State Speaker and also former Mayor of San Francisco, <a href="http://cbs13.com/local/willie.brown.interview.2.1704657.html">made a surprising interview this week</a>.&#160; In an unusual interview,&#160; he acknowledged that his Democratic political agenda is largely responsible the the financial meltdown here in California.</p>
<p>His quotes in the interview are jaw-dropping.&#160; Not only does he admit that the spending policies threw California into massive debt, but he also admits that he, and the other legislators did this without really having tried to analyze the effects of the laws they were implementing.</p>
<p>Here is a nice quote,&#160; <em>&quot;I had actually participated in moving legislation to reduce the retirement age for teachers and I did it with great pride and I created it in my resume as one of my great achievements… Nobody took the time to do the analysis that would have persuaded us we needed to add money to make it work”</em></p>
<p>Well, that’s good to know.</p>
<p>He goes on to be fairly self-critical, <em>“I may have been one of the key architects of many of the things that have created a challenge for my successors.”</em></p>
<p>So there you have it – even Willie Brown knows that Democrats are the architects of our problems.&#160; But Brown couldn’t do it alone – it took all of them – much like Obama is doing now &#8211; to systematically ignore logic and common sense in favor of grabbing votes by promising to spend money on programs we know we cannot afford.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=4CfZqSj9YGY:a0-rUkooEC0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=4CfZqSj9YGY:a0-rUkooEC0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=4CfZqSj9YGY:a0-rUkooEC0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=4CfZqSj9YGY:a0-rUkooEC0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=4CfZqSj9YGY:a0-rUkooEC0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=4CfZqSj9YGY:a0-rUkooEC0:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=4CfZqSj9YGY:a0-rUkooEC0:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=4CfZqSj9YGY:a0-rUkooEC0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/4CfZqSj9YGY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/05/26/democrats-agree-democrat-policies-caused-california-financial-crisis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/05/26/democrats-agree-democrat-policies-caused-california-financial-crisis/</feedburner:origLink></item>
		<item>
		<title>More Bandwidth Doesn’t Matter (Much)</title>
		<link>http://feedproxy.google.com/~r/MikesLookout/~3/49QD5eGS_Bk/</link>
		<comments>http://www.belshe.com/2010/05/24/more-bandwidth-doesnt-matter-much/#comments</comments>
		<pubDate>Mon, 24 May 2010 17:13:32 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.belshe.com/2010/05/24/more-bandwidth-doesnt-matter-much/</guid>
		<description><![CDATA[This is a part of a report I wrote last month; the full report is available here.
 Mike Belshe &#8211; mbelshe@google.com &#8211; 04/08/10
When choosing an Internet connection, it is intuitive to focus on network bandwidth &#8211; “Speeds up to 5Mbps!”&#160; Bandwidth is important, but it isn’t the only factor in performance.&#160; And given the way [...]]]></description>
			<content:encoded><![CDATA[<p>This is a part of a report I wrote last month; the full report is available <a href="http://docs.google.com/a/chromium.org/viewer?a=v&amp;pid=sites&amp;srcid=Y2hyb21pdW0ub3JnfGRldnxneDoxMzcyOWI1N2I4YzI3NzE2">here</a>.</p>
<p> <i><font size="1">Mike Belshe &#8211; mbelshe@google.com &#8211; 04/08/10</font></i>
<p>When choosing an Internet connection, it is intuitive to focus on network bandwidth &#8211; “<i>Speeds up to 5Mbps!</i>”&#160; Bandwidth is important, but it isn’t the only factor in performance.&#160; And given the way that HTTP uses short, bursty connections, it turns out that the round-trip-times dominate performance more than bandwidth does.     </p>
<p>Of course, bandwidth speeds are very important for video, music, and other large content downloads.&#160; These types of content, unlike web pages, are able to utilize the network because they are large, whereas web pages are comprised of many short connections.&#160; This report is only concerned with the effect of bandwidth and RTT on the loading of web pages.</p>
<h3></h3>
<h5><b>Two Factors in Web-page Downloads:&#160; Bandwidth and Round-Trip Time</b></h5>
<p> If we make an analogy between plumbing and the Internet, we can consider the <i><b>bandwidth</b></i> of the Internet to be like the diameter of the water pipe.&#160; A larger pipe carries a larger volume of water, and hence you can deliver more water between two points.
<p>At the same time, no matter how big your pipe is, if the pipe is empty, and you want to get water from one point to the other, it takes time for water to travel through the pipe.&#160; In Internet parlance, the time it takes for water to travel from one end of the pipe to the other and back again is called the <i><b>round trip time</b></i>, or RTT.     </p>
<p>While it is easy to install a bigger pipe between two points to add more bandwidth, minimizing the round trip time is difficult because physics gets in our way.&#160; If your server is located in London, for example, and you are in San Francisco, the time it takes to send a message is gated at least by the speed of light (even light would take ~30ms to travel that distance, or 60ms for a full round-trip).&#160; On the internet today, round trip times of 150ms to 250ms is common.&#160; And no matter how big your pipe is, the RTT will take this long.</p>
<h5><b>Test #1:&#160; Vary the Bandwidth</b></h5>
<p> The first test we ran was to see the effect on web-page download times when you change the bandwidth of the network.&#160; In this test, we’ve chosen fixed values for packet loss (0%) and round-trip-time (60ms) so that we can isolate the variable under test, bandwidth.&#160; In this test we’re downloading a simulation of 25 of the web’s most popular web pages.
<p>Here are the raw results, using HTTP to download the web page:</p>
<p><b>Bandwidth</b></p>
<p><b>Page Load Time via HTTP</b></p>
<p><img src="https://docs.google.com/File?id=chcvxcdg_9585zpn8dc_b" /></p>
<p>Figure 1: This graph shows the decrease in latency (page load time) as the bandwidth goes up.&#160; As you can see, there are diminishing returns as the bandwidth gets higher.&#160;&#160; According to the Akamai Internet Report Q2’09, the average bandwidth in the US is only 3.9Mbps.</p>
<p><img src="https://docs.google.com/File?id=chcvxcdg_96f4448bgt_b" /></p>
<p>Figure 2: Here we see the incremental percentage decrease in latency as we add more bandwidth.&#160; An increase from 5Mbps to 10Mbps amounts to a 5% improvement in Page Load Times.</p>
<p><img src="https://docs.google.com/File?id=chcvxcdg_97cz4c4pdf_b" /></p>
<p>Figure 3: This graph shows the effective bandwidth of the web page download as the raw bandwidth is increased.&#160; At 1Mbps, web pages can be downloaded at ~69% of the total bandwidth capacity.&#160; At 10Mbps, however, web pages can only be downloaded at ~16% of the total capacity; and we’re tapering off.</p>
<h5><b>Test #2:&#160; Vary the RTT</b></h5>
<p> For this test, we fix the bandwidth at 5Mbps, and vary the RTT from 0ms to 240ms.&#160; Keep in mind that the worldwide average RTT to Google is over 100ms today.&#160; In the US, RTTs are lower, but 60-70ms is still common.&#160;&#160;
<p><b>RTT</b></p>
<p><b>Page Load Time via HTTP</b></p>
<p><img src="https://docs.google.com/File?id=chcvxcdg_98f3p4cjcz_b" /></p>
<p>Figure 4:&#160; In this graph, we see the obvious effect that Page Load Time decreases as the RTT decreases. Continued reductions in RTT always helps, even when RTT is low.</p>
<p><img src="https://docs.google.com/File?id=chcvxcdg_998qwn6ngf_b" /></p>
<p>Figure 5: This graph shows the % reduction in PLT for each 20 milliseconds of reduced RTT.&#160; Unlike improvements to bandwidth (figure 2), where benefits diminish, reducing the RTT always helps the overall PLT.&#160; In these tests, with bandwidth fixed at 5Mbps, each 20ms yielded 7-15% reduction in PLT.</p>
<p><img src="https://docs.google.com/File?id=chcvxcdg_100fqdzn65d_b" /></p>
<p>Figure 6: This chart shows the increased overall effective bandwidth as RTT is reduced.&#160; With high RTT, bandwidth of a page load was as low as 550Kbps, which is a little more than 10% of the 5Mbps theoretical throughput.&#160; With low RTT, web page downloads still only achieve ~54% of the total bandwidth available.&#160; This is due to other factors of how web pages are loaded.</p>
<h5><b>Conclusions</b></h5>
<p> As you can see from the data above,&#160; if users double their bandwidth without reducing their RTT significantly, the effect on Web Browsing will be a minimal improvement.&#160; However, decreasing RTT, regardless of current bandwidth always helps make web browsing faster.&#160; To speed up the Internet at large, we should look for more ways to bring down RTT.&#160; What if we could reduce cross-atlantic RTTs from 150ms to 100ms?&#160; This would have a larger effect on the speed of the internet than increasing a user’s bandwidth from 3.9Mbps to 10Mbps or even 1Gbps.   </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MikesLookout?a=49QD5eGS_Bk:VohFq8QKMe8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=49QD5eGS_Bk:VohFq8QKMe8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=49QD5eGS_Bk:VohFq8QKMe8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=49QD5eGS_Bk:VohFq8QKMe8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=49QD5eGS_Bk:VohFq8QKMe8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=49QD5eGS_Bk:VohFq8QKMe8:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/MikesLookout?i=49QD5eGS_Bk:VohFq8QKMe8:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MikesLookout?a=49QD5eGS_Bk:VohFq8QKMe8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MikesLookout?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MikesLookout/~4/49QD5eGS_Bk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.belshe.com/2010/05/24/more-bandwidth-doesnt-matter-much/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.belshe.com/2010/05/24/more-bandwidth-doesnt-matter-much/</feedburner:origLink></item>
	</channel>
</rss>
