<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2titles.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.stevetrefethen.com/~d/styles/itemtitles.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Steve Trefethen's Weblog</title>
    <description>stevetrefethen.com is the blog of Steve Trefethen. I am a software developer interested in .NET, testing, internet applications, automation and anything related to my family and friends.</description>
    <link>http://www.stevetrefethen.com/blog/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.5.1.28</generator>
    <language>en-US</language>
    <blogChannel:blogRoll>http://www.stevetrefethen.com/blog/opml.axd</blogChannel:blogRoll>
    <dc:creator>Steve Trefethen</dc:creator>
    <dc:title>Steve Trefethen</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.stevetrefethen.com/SteveTrefethensWeblog" /><feedburner:info uri="stevetrefethensweblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>37.057575</geo:lat><geo:long>-122.015071</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license><xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /><meta xmlns="http://pipes.yahoo.com" name="pipes" content="noprocess" /><image><link>http://www.stevetrefethen.com/blog/</link><url>http://feeds2.feedburner.com/~fc/SteveTrefethensWeblog?bg=FF9900&amp;amp;fg=000000&amp;amp;anim=0</url><title>Steve Trefethen's Blog</title></image><feedburner:emailServiceId>SteveTrefethensWeblog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
      <title>TestComplete 8 training videos posted Aug 2010</title>
      <description>&lt;p&gt;Just posted 5 new training videos on &lt;a href="http://www.automatedqa.com/products/testcomplete/" target="_blank"&gt;TestComplete&lt;/a&gt; 8 to &lt;a href="http://tv.falafel.com/"&gt;tv.falafel.com&lt;/a&gt; including:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://tv.falafel.com/default/10-08-12/Posting_HTML_output_to_the_TestComplete_8_log.aspx"&gt;Posting HTML output to the TestComplete 8 log&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://tv.falafel.com/default/10-08-12/Using_TestComplete_8_rsquo_s_Extended_Find_Name_Mapping_feature.aspx"&gt;Using TestComplete 8’s Extended Find Name Mapping feature&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://tv.falafel.com/default/10-08-12/Automating_Manual_tests_in_TestComplete_8.aspx"&gt;Automating Manual tests in TestComplete 8&lt;/a&gt;&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/TestComplete8trainingvideospostedAug2010.aspx&amp;amp;t=TestComplete 8 training videos posted Aug 2010" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/TestComplete8trainingvideospostedAug2010.aspx&amp;amp;title=TestComplete 8 training videos posted Aug 2010" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/TestComplete8trainingvideospostedAug2010.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/toWdB2bm5QIboDiGxRRZu6_GDm0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/toWdB2bm5QIboDiGxRRZu6_GDm0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/toWdB2bm5QIboDiGxRRZu6_GDm0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/toWdB2bm5QIboDiGxRRZu6_GDm0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=w9bGHszD_WI:wyLGOAsYFI4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=w9bGHszD_WI:wyLGOAsYFI4:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=w9bGHszD_WI:wyLGOAsYFI4:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=w9bGHszD_WI:wyLGOAsYFI4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=w9bGHszD_WI:wyLGOAsYFI4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=w9bGHszD_WI:wyLGOAsYFI4:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=w9bGHszD_WI:wyLGOAsYFI4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=w9bGHszD_WI:wyLGOAsYFI4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=w9bGHszD_WI:wyLGOAsYFI4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/w9bGHszD_WI" height="1" width="1"/&gt;</description>
      <link>http://feeds.stevetrefethen.com/~r/SteveTrefethensWeblog/~3/w9bGHszD_WI/post.aspx</link>
      <author>Steve</author>
      <comments>http://www.stevetrefethen.com/blog/TestComplete8trainingvideospostedAug2010.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=f703fac8-b6e9-4148-a180-31b55f50fdde</guid>
      <pubDate>Thu, 12 Aug 2010 13:14:00 -0700</pubDate>
      <category>Automation</category>
      <category>Testing</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=f703fac8-b6e9-4148-a180-31b55f50fdde</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=f703fac8-b6e9-4148-a180-31b55f50fdde</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/TestComplete8trainingvideospostedAug2010.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=f703fac8-b6e9-4148-a180-31b55f50fdde</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=f703fac8-b6e9-4148-a180-31b55f50fdde</feedburner:origLink></item>
    <item>
      <title>TestComplete 8 Released</title>
      <description>&lt;p&gt;&lt;a title="SmartBear Software" href="http://www.smartbear.com/" target="_blank"&gt;&lt;img style="border-right-width: 0px; margin: 0px 5px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SmartBear" border="0" alt="SmartBear" align="right" src="http://www.stevetrefethen.com/blog/image.axd?picture=SmartBear.png" width="232" height="104" /&gt; AutomatedQA&lt;/a&gt;, now &lt;a title="SmartBear Software" href="http://www.smartbear.com/" target="_blank"&gt;SmartBear Software&lt;/a&gt; released &lt;a href="http://www.automatedqa.com/products/testcomplete/" target="_blank" title="TestComplete v8"&gt;TestComplete&lt;/a&gt; 8 this week, congrats to the Team for all their hard work! &lt;a href="http://www.falafel.com/" target="_blank"&gt;Falafel Software&lt;/a&gt;, my employer, is a partner with SmartBear and the team wishes to congratulate SmartBear team on their release.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.automatedqa.com/products/testcomplete/"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.stevetrefethen.com/blog/image.axd?picture=image_18.png" width="403" height="210" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Falafel Software is the Premier World-wide training partner for SmartBear offering a &lt;a href="http://www.falafel.com/testcomplete/testcomplete_training.aspx" target="_blank"&gt;wide variety of training options&lt;/a&gt; with classes scheduled through the end of the year on TestComplete 8 including updates to the course ware books, &lt;a href="http://www.lulu.com/product/12037404" alt="TestComplete Made Easy"&gt;TestComplete Made Easy&lt;/a&gt; and &lt;a href="http://www.lulu.com/product/12037468" alt="TestComplete Made Easier"&gt;TestComplete Made Easier&lt;/a&gt;, for the new version. Feel free to&amp;#160; &lt;a href="http://www.stevetrefethen.com/blog/email.aspx"&gt;contact me&lt;/a&gt; for details.&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/TestComplete8Released.aspx&amp;amp;t=TestComplete 8 Released" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/TestComplete8Released.aspx&amp;amp;title=TestComplete 8 Released" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/TestComplete8Released.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HSdgbO6WN1rL5uxvVpXi8GuJ4SA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HSdgbO6WN1rL5uxvVpXi8GuJ4SA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HSdgbO6WN1rL5uxvVpXi8GuJ4SA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HSdgbO6WN1rL5uxvVpXi8GuJ4SA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=lbwzZBvrMX4:NJ8lX_Phyqw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=lbwzZBvrMX4:NJ8lX_Phyqw:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=lbwzZBvrMX4:NJ8lX_Phyqw:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=lbwzZBvrMX4:NJ8lX_Phyqw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=lbwzZBvrMX4:NJ8lX_Phyqw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=lbwzZBvrMX4:NJ8lX_Phyqw:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=lbwzZBvrMX4:NJ8lX_Phyqw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=lbwzZBvrMX4:NJ8lX_Phyqw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=lbwzZBvrMX4:NJ8lX_Phyqw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/lbwzZBvrMX4" height="1" width="1"/&gt;</description>
      <link>http://feeds.stevetrefethen.com/~r/SteveTrefethensWeblog/~3/lbwzZBvrMX4/post.aspx</link>
      <author>Steve</author>
      <comments>http://www.stevetrefethen.com/blog/TestComplete8Released.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=e0c1f1fc-6aef-4777-bc9f-342c0d6a65b3</guid>
      <pubDate>Tue, 27 Jul 2010 21:33:00 -0700</pubDate>
      <category>Testing</category>
      <category>Tools</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=e0c1f1fc-6aef-4777-bc9f-342c0d6a65b3</pingback:target>
      <slash:comments>6</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=e0c1f1fc-6aef-4777-bc9f-342c0d6a65b3</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/TestComplete8Released.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=e0c1f1fc-6aef-4777-bc9f-342c0d6a65b3</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=e0c1f1fc-6aef-4777-bc9f-342c0d6a65b3</feedburner:origLink></item>
    <item>
      <title>FileSystemInfo.LastWriteTime and 12/31/1600</title>
      <description>&lt;p&gt;I’ve been working on an application tracking the age of files and if they reaches a certain threshold an error gets trigged.&lt;/p&gt;  &lt;pre class="c#" name="code"&gt;FileInfo f = new FileInfo(new SystemPath(m.FolderName).Combine(m.FileName).ToString());
double totalminutes = DateTime.Now.Subtract(f.LastWriteTime).TotalMinutes;
if (totalminutes &amp;gt;= ErrorIntervalInMinutes)&lt;/pre&gt;

&lt;p&gt;I setup an error message to display information about the files when the error occurs and got something like this:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Error: File (d:\outbound\997_42772_06182010_1504_91.txt) File Time: 12/31/1600 4:00:00 PM Current Time: 6/18/2010 3:06:10 PM has &lt;strong&gt;failed to upload via FTP for 215356266.168919 minutes&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Whoa, over 400 years! That’s a lot of minutes not to mention 12/31/1600 looks a bit suspicious. A peek at the documentation for &lt;a href="http://msdn.microsoft.com/en-us/library/system.io.filesysteminfo.lastwritetime.aspx"&gt;FileInfo.LastWriteTime&lt;/a&gt; reveals:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;If the file described in the &lt;strong&gt;FileSystemInfo object does not exist&lt;/strong&gt;, this property will return 12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC), adjusted to local time.&amp;#160; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ah ha! The list of files being processed in this case is static and files are getting uploaded to an FTP server so clearly the file causing the error is no longer on disk thus the error. Adding an if(!f.Exists) continue; should do the trick.&lt;/p&gt;

&lt;p&gt;Now, I didn’t investigate UTC once converted to local time resulting in 12/31/1600 vs. 1/1/1601 but I found my answer and after adding a simple check I was on my way.&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/FileSystemInfoLastWriteTimeand12311600.aspx&amp;amp;t=FileSystemInfo.LastWriteTime and 12/31/1600" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/FileSystemInfoLastWriteTimeand12311600.aspx&amp;amp;title=FileSystemInfo.LastWriteTime and 12/31/1600" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/FileSystemInfoLastWriteTimeand12311600.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1Aai_58kwhi4cuaBw7EJXRmhhKk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1Aai_58kwhi4cuaBw7EJXRmhhKk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1Aai_58kwhi4cuaBw7EJXRmhhKk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1Aai_58kwhi4cuaBw7EJXRmhhKk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=HB2OXVxAVWQ:9DwcJix1Q0U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=HB2OXVxAVWQ:9DwcJix1Q0U:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=HB2OXVxAVWQ:9DwcJix1Q0U:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=HB2OXVxAVWQ:9DwcJix1Q0U:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=HB2OXVxAVWQ:9DwcJix1Q0U:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=HB2OXVxAVWQ:9DwcJix1Q0U:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=HB2OXVxAVWQ:9DwcJix1Q0U:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=HB2OXVxAVWQ:9DwcJix1Q0U:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=HB2OXVxAVWQ:9DwcJix1Q0U:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/HB2OXVxAVWQ" height="1" width="1"/&gt;</description>
      <link>http://feeds.stevetrefethen.com/~r/SteveTrefethensWeblog/~3/HB2OXVxAVWQ/post.aspx</link>
      <author>Steve</author>
      <comments>http://www.stevetrefethen.com/blog/FileSystemInfoLastWriteTimeand12311600.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=367e2575-2a1a-4df9-8cff-25199f07ce47</guid>
      <pubDate>Thu, 08 Jul 2010 00:23:49 -0700</pubDate>
      <category>.NET</category>
      <category>Programming</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=367e2575-2a1a-4df9-8cff-25199f07ce47</pingback:target>
      <slash:comments>8</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=367e2575-2a1a-4df9-8cff-25199f07ce47</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/FileSystemInfoLastWriteTimeand12311600.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=367e2575-2a1a-4df9-8cff-25199f07ce47</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=367e2575-2a1a-4df9-8cff-25199f07ce47</feedburner:origLink></item>
    <item>
      <title>Optimizing Wireless Router Performance using Android and Wifi Analyzer</title>
      <description>&lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 0px 5px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Channel View" border="0" alt="image" align="right" src="http://www.stevetrefethen.com/blog/image.axd?picture=image_thumb_8.png" width="214" height="380" /&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 0px 5px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Wifi Analyzer on Android" border="0" alt="Wifi Analyzer on Android" align="right" src="http://www.stevetrefethen.com/blog/image.axd?picture=image_17.png" width="214" height="380" /&gt; &lt;img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Wifi Analyzer" border="0" alt="Wifi Analyzer" align="left" src="http://a.farproc.com/_/rsrc/1262844489526/home/icon_wifi_analyzer.png" /&gt;Prior to getting my Motorola Droid I hadn't thought too much about which channel my wireless router was running. In fact, I never really put too much thought into router channels at all though not long after I got my Droid I stumbled into &lt;a href="http://a.farproc.com/wifi-analyzer" target="_blank"&gt;Wifi analyzer&lt;/a&gt; and realized my router overlapped at least three others located near by. Fortunately the airwaves aren’t so crowded (at least not yet) finding a free channel was relatively easy.&lt;/p&gt;  &lt;p&gt;In case you can’t tell in the image to the right there are 13 wireless routers broadcasting their signal around our house. I wonder if those &lt;a href="http://www.mercurynews.com/breaking-news/ci_15380673" target="_blank"&gt;questioning the new SmartMeters&lt;/a&gt; to be installed here in Scotts Valley have checked their existing wireless predicament?&lt;/p&gt;  &lt;p&gt;How does your neighborhood compare? &lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/OptimizingWirelessRouterPerformanceusingAndroidandWifiAnalyzer.aspx&amp;amp;t=Optimizing Wireless Router Performance using Android and Wifi Analyzer" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/OptimizingWirelessRouterPerformanceusingAndroidandWifiAnalyzer.aspx&amp;amp;title=Optimizing Wireless Router Performance using Android and Wifi Analyzer" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/OptimizingWirelessRouterPerformanceusingAndroidandWifiAnalyzer.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/apsGp5a0enzVCS0YZDBvJbcYWiw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/apsGp5a0enzVCS0YZDBvJbcYWiw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/apsGp5a0enzVCS0YZDBvJbcYWiw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/apsGp5a0enzVCS0YZDBvJbcYWiw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=CKl8RaS1irg:mwsgKrrEk-w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=CKl8RaS1irg:mwsgKrrEk-w:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=CKl8RaS1irg:mwsgKrrEk-w:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=CKl8RaS1irg:mwsgKrrEk-w:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=CKl8RaS1irg:mwsgKrrEk-w:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=CKl8RaS1irg:mwsgKrrEk-w:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=CKl8RaS1irg:mwsgKrrEk-w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=CKl8RaS1irg:mwsgKrrEk-w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=CKl8RaS1irg:mwsgKrrEk-w:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/CKl8RaS1irg" height="1" width="1"/&gt;</description>
      <link>http://feeds.stevetrefethen.com/~r/SteveTrefethensWeblog/~3/CKl8RaS1irg/post.aspx</link>
      <author>Steve</author>
      <comments>http://www.stevetrefethen.com/blog/OptimizingWirelessRouterPerformanceusingAndroidandWifiAnalyzer.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=6db7e2a5-53bc-4849-a5af-808a750fbd30</guid>
      <pubDate>Tue, 06 Jul 2010 23:05:00 -0700</pubDate>
      <category>Android</category>
      <category>Home</category>
      <category>Mobile</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=6db7e2a5-53bc-4849-a5af-808a750fbd30</pingback:target>
      <slash:comments>11</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=6db7e2a5-53bc-4849-a5af-808a750fbd30</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/OptimizingWirelessRouterPerformanceusingAndroidandWifiAnalyzer.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=6db7e2a5-53bc-4849-a5af-808a750fbd30</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=6db7e2a5-53bc-4849-a5af-808a750fbd30</feedburner:origLink></item>
    <item>
      <title>A week in New Orleans on the HTC EVO</title>
      <description>&lt;p&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" title="HTC EVO" alt="HTC EVO" align="right" src="http://cache.techie-buzz.com/images/mobiles/Omkar/htc_evo_4g/htc_evo_4g.jpg" /&gt;All this week I’ve been in New Orleans at TechEd 2010 using the Google &lt;a href="http://now.sprint.com/firsts/evo4g/"&gt;HTC EVO phone&lt;/a&gt; that I got while at Google I/O in May. The phone is on free service through Sprint for 30 days and is an incredible piece of hardware with an huge screen, very fast processor that’s been an absolute joy to use even though there are a few UI features/apps from the Droid I prefer. It’s going to be really sad to return to the Droid once the service ends as it runs circles around it. &lt;/p&gt;  &lt;p&gt;The Falafel team here with six people has two Motorola Droids, two HTC EVO’s, one iPhone 3GS and one HTC Tilt 2. We taken tons of photos, many of which ended up being immediately posted to &lt;a href="http://www.facebook.com/" target="_blank"&gt;Facebook&lt;/a&gt; or sent via email. I’ve posted live streaming video to &lt;a href="http://qik.com/stevetrefethen"&gt;qik.com&lt;/a&gt;, photos and status updates to Facebook and Google Buzz, listened to podcasts, found directions to restaurants, coffee shops and all sorts of other locations, posted to Twitter read the news, posted updates to the Falafel team on &lt;a href="http://www.yammer.com"&gt;Yammer&lt;/a&gt;, sent tons of free SMS messages via &lt;a href="http://www.stevetrefethen.com/blog/GoogleVoiceyourpersonalPBXifyoucangetbythePrivacyPolicy.aspx"&gt;Google Voice&lt;/a&gt;, identified landmarks using &lt;a href="http://www.google.com/mobile/goggles/#text" target="_blank"&gt;Google Goggles&lt;/a&gt;, instant messaged via &lt;a href="http://www.meebo.com/"&gt;Meebo&lt;/a&gt;, tracked my travel via &lt;a href="http://www.tripit.com/" target="_blank"&gt;TripIt&lt;/a&gt;, connected to the web via Sprint Hot Spot countless times, &lt;a href="http://blog.falafel.com/blogs/10-06-08/Barcode_your_Android_Application.aspx"&gt;scanned barcodes&lt;/a&gt;, &lt;a href="http://blog.falafel.com/blogs/10-06-07/Falafel_2_Go_Falafel_Mobile_and_iPhone_4_Oh_My_hellip.aspx"&gt;installed apps&lt;/a&gt; and oh yeah, even made a few phone calls!&lt;/p&gt;  &lt;p&gt;In fact, this afternoon I was working at a Starbucks connected via the Sprint Hot Spot feature sharing my connection with Falafel’s President &lt;a href="http://blog.falafel.com/UserView,user,John.aspx" target="_blank"&gt;John Waters&lt;/a&gt; while he was dialed into a &lt;a href="http://www.gotomeeting.com" target="_blank"&gt;GotoMeeting&lt;/a&gt; call with other Falafel employees located both here in New Orleans as well as back home in California.&lt;/p&gt;  &lt;p&gt;Last night, we were walking along the Mississippi and caught Anderson Cooper filming &lt;a href="http://ac360.blogs.cnn.com/"&gt;AC360&lt;/a&gt; where we watched the show streamed over a &lt;a href="http://www.slingbox.com/"&gt;Slingbox&lt;/a&gt; to an HTC Tilt 2 located in Amarillo TX! It’s really amazing what these pocket devices can do and how close you can get to replacing a PC with one.&lt;/p&gt;  &lt;p&gt;With Android you can literally pick up a new phone, log in with your Google account and be off in running with your contacts, email and lots of other goodness in minutes. I can’t wait to take a look at the new iPhone though I can’t imagine a case where I’d switch from Verizon to AT&amp;amp;T because at the end of the day I want/need to make phone calls.&lt;/p&gt;  &lt;p&gt;As fun as all this has been, I’m ready to go home and see my family again so now it’s time to go to bed because I have to be up in a little over three hours to catch a 5:25am flight home.&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/AweekinNewOrleansontheHTCEVO.aspx&amp;amp;t=A week in New Orleans on the HTC EVO" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/AweekinNewOrleansontheHTCEVO.aspx&amp;amp;title=A week in New Orleans on the HTC EVO" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/AweekinNewOrleansontheHTCEVO.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zOZXh445eK09k9F6qZzkYel0KMI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zOZXh445eK09k9F6qZzkYel0KMI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zOZXh445eK09k9F6qZzkYel0KMI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zOZXh445eK09k9F6qZzkYel0KMI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=bWea7Nhz8r8:akT4KtnxZ_U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=bWea7Nhz8r8:akT4KtnxZ_U:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=bWea7Nhz8r8:akT4KtnxZ_U:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=bWea7Nhz8r8:akT4KtnxZ_U:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=bWea7Nhz8r8:akT4KtnxZ_U:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=bWea7Nhz8r8:akT4KtnxZ_U:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=bWea7Nhz8r8:akT4KtnxZ_U:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=bWea7Nhz8r8:akT4KtnxZ_U:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=bWea7Nhz8r8:akT4KtnxZ_U:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/bWea7Nhz8r8" height="1" width="1"/&gt;</description>
      <link>http://feeds.stevetrefethen.com/~r/SteveTrefethensWeblog/~3/bWea7Nhz8r8/post.aspx</link>
      <author>Steve</author>
      <comments>http://www.stevetrefethen.com/blog/AweekinNewOrleansontheHTCEVO.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=62af81e6-8271-41c9-9401-9c274308a2bd</guid>
      <pubDate>Thu, 10 Jun 2010 21:45:00 -0700</pubDate>
      <category>For fun</category>
      <category>Hardware</category>
      <category>Mobile</category>
      <category>Technology</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=62af81e6-8271-41c9-9401-9c274308a2bd</pingback:target>
      <slash:comments>23</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=62af81e6-8271-41c9-9401-9c274308a2bd</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/AweekinNewOrleansontheHTCEVO.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=62af81e6-8271-41c9-9401-9c274308a2bd</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=62af81e6-8271-41c9-9401-9c274308a2bd</feedburner:origLink></item>
    <item>
      <title>Hanging with Falafel Software’s Storm Chaser</title>
      <description>&lt;p&gt;While here at &lt;a href="http://www.microsoft.com/events/techednorthamerica/"&gt;TechEd 2010 in New Orleans&lt;/a&gt; I’ve had the good fortune of spending time with Bary Nusz, a colleague at &lt;a href="http://www.falafel.com/"&gt;Falafel&lt;/a&gt; from Amarillo TX. Bary’s an honest to goodness storm chaser and it’s been a lot of fun chatting with him about his hobby though with as serious as he is about it I’m not sure that’s the correct word. He used a &lt;a href="http://www.sonystyle.com/webapp/wcs/stores/servlet/ProductDisplay?catalogId=10551&amp;amp;storeId=10151&amp;amp;langId=-1&amp;amp;productId=8198552921665089055"&gt;Sony HDR-SR7&lt;/a&gt; camera to capture the movie below of a tornado on May 23 near his home and he’s made some great &lt;a href="http://www.youtube.com/watch?v=hA4eOisN8_Q"&gt;time lapse films&lt;/a&gt; using a &lt;a href="http://www.goprocamera.com/products"&gt;GoPro Hero HD&lt;/a&gt;. I was asking him last night about his biggest fear related to storm chasing and surprisingly, at least to me, it wasn’t tornado's but traffic from other storm chasers and lightning.&lt;/p&gt; &lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/YmA0CNNVizE&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/YmA0CNNVizE&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;At any rate, I figured people here might enjoy this video and some of the other great footage he’s posted. He even has &lt;a href="http://www.youtube.com/nusz"&gt;a channel on YouTube&lt;/a&gt;.&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/HangingwithFalafelSoftwaree28099sStormChaser.aspx&amp;amp;t=Hanging with Falafel Software’s Storm Chaser" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/HangingwithFalafelSoftwaree28099sStormChaser.aspx&amp;amp;title=Hanging with Falafel Software’s Storm Chaser" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/HangingwithFalafelSoftwaree28099sStormChaser.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/g-M0oEIFqpmHQOUG3MNXnaWkmSg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g-M0oEIFqpmHQOUG3MNXnaWkmSg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/g-M0oEIFqpmHQOUG3MNXnaWkmSg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g-M0oEIFqpmHQOUG3MNXnaWkmSg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=miyaFszdLIw:_B5RYIfGYbs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=miyaFszdLIw:_B5RYIfGYbs:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=miyaFszdLIw:_B5RYIfGYbs:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=miyaFszdLIw:_B5RYIfGYbs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=miyaFszdLIw:_B5RYIfGYbs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=miyaFszdLIw:_B5RYIfGYbs:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=miyaFszdLIw:_B5RYIfGYbs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=miyaFszdLIw:_B5RYIfGYbs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=miyaFszdLIw:_B5RYIfGYbs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/miyaFszdLIw" height="1" width="1"/&gt;</description>
      <link>http://feeds.stevetrefethen.com/~r/SteveTrefethensWeblog/~3/miyaFszdLIw/post.aspx</link>
      <author>Steve</author>
      <comments>http://www.stevetrefethen.com/blog/HangingwithFalafelSoftwaree28099sStormChaser.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=382c3ab3-3a96-44ed-9927-d9d882a80a64</guid>
      <pubDate>Wed, 09 Jun 2010 22:20:19 -0700</pubDate>
      <category>For fun</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=382c3ab3-3a96-44ed-9927-d9d882a80a64</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=382c3ab3-3a96-44ed-9927-d9d882a80a64</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/HangingwithFalafelSoftwaree28099sStormChaser.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=382c3ab3-3a96-44ed-9927-d9d882a80a64</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=382c3ab3-3a96-44ed-9927-d9d882a80a64</feedburner:origLink></item>
    <item>
      <title>Apple’s license agreement is it really a surprise?</title>
      <description>&lt;p&gt;With Apple’s recently announced changes to it’s &lt;a href="http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+SteveTrefethensLinkBlog+(Steve+Trefethen's+LinkBlog)" target="_blank"&gt;License Agreement&lt;/a&gt; I really don’t see any surprise in it at all. My computing career started on an Apple II in high school but that was the extent of my exposure to Apple hardware and software until I won an &lt;a href="http://support.apple.com/kb/ht1353#clickwheel" target="_blank"&gt;iPod&lt;/a&gt; back in my Borland days. I followed with some interest what seemed to be the near death of Apple back in the &lt;a href="http://en.wikipedia.org/wiki/Gil_Amelio" target="_blank"&gt;Gil Amelio&lt;/a&gt; days and the curious flirtation with 3rd party hardware manufacturers which was subsequently crushed.&lt;/p&gt;  &lt;p&gt;If anything Apple has always fiercely protected what makes it Apple. They’re an incredibly innovative company and while I’ve heard and read people talking about these recent changes being reminiscent of Mac vs. Windows I’d disagree. There are some significant differences this time around particularly when you consider Apple’s control over and influence on content producers, something that didn’t exist “back in the day”. This time around Apple &lt;a href="http://www.stevetrefethen.com/blog/MyanswertoApplesiPodTouchisitworthit.aspx" target="_blank"&gt;arguably has the best device&lt;/a&gt;, and I’m a big Android fan but it’s plainly missing tons of polish that the iPhone has in spades.&lt;/p&gt;  &lt;p&gt;With the recent release of the iPad and all the magazines and newspapers scrambling to leverage it to salvage their fading print business once again Apple is in the drivers seat. If you look at the landscape Apple has lots of things going for it right now on the content side. Take for example the fact the Droid has a non-existent music experience and that their online Market is rather laughable when compared to the AppStore. No matter how lame &lt;a href="http://www.stevetrefethen.com/blog/iTunes7performanceisabysmal.aspx" target="_blank"&gt;iTunes&lt;/a&gt; is we’ve all had it for years and got sucked into it well before the iPhone came out with an iPod or two (or three). Also, if you’ve watched Apple’s iPhone announcements over the years they’ve always highlighted gaming. There's been no shortage of games produced for the platform and I’d guess the vast majority of those wouldn’t really have issues when it comes to the recent license agreement changes (though that’s just a guess). Now with the advent of the iPad with all it’s hype we’re going to see an explosion of cool games that do all sorts of new things and the movie, magazine, book and newspaper reading experience will all now have to live up to Apple’s standard which is going to be very difficult to do. In other words I don’t think it’s going to slow the growth of the AppStore any time soon which gets right to my point…&lt;/p&gt;  &lt;p&gt;Apple is going to, rightly, protect its business and the &lt;em&gt;experience&lt;/em&gt; of using their devices is damn enjoyable and very fluid, far more so than on Android. It’s easy to understand they wouldn’t want a game, or any application, to play/function exactly the same on any other platform. It’s also easy to see after years of cultivating their “relationship” with the music industry there’s probably no company better positioned to negotiate rights to movies, magazines, newspapers or other multi-media content particularly now they have a larger screen device all those parties surely want to be on.&lt;/p&gt;  &lt;p&gt;One way to look at this is that developers are getting screwed though I think that’s perhaps short sighted if your goal as a developer is for the platform that you’re targeting to succeed for years to come. Apple is working to protect their platform and with &lt;a href="http://developer.apple.com/technologies/iphone/whats-new.html#iAd" target="_blank"&gt;iAd&lt;/a&gt;, if anything, they’re looking to expand not only their revenue but their developer community’s as well. Makes sense.&lt;/p&gt;  &lt;p&gt;When I step back and look at it, Apple’s been cultivating all kinds of relationships using their mobile devices with developer’s, non-Mac users, music enthusiasts, gamers and entire industries. They’ve created an experience, whether it’s in the Apple store or on the AppStore or on a mobile device that’s difficult to top and I’m hard pressed to think of another company in a similar position. At least Kliener Perkins &lt;a href="http://www.iphonealley.com/current/kleiner-perkins-expands-ifund-venture-capital-to-200-million" target="_blank"&gt;seems to agree&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Anyway, those are some of my thoughts on the subject. What’s your take?&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/Applee28099slicenseagreementisitreallyasurprise.aspx&amp;amp;t=Apple’s license agreement is it really a surprise?" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/Applee28099slicenseagreementisitreallyasurprise.aspx&amp;amp;title=Apple’s license agreement is it really a surprise?" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/Applee28099slicenseagreementisitreallyasurprise.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_8-NSz5MWHJCZQrQez3XwbYeqXw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_8-NSz5MWHJCZQrQez3XwbYeqXw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_8-NSz5MWHJCZQrQez3XwbYeqXw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_8-NSz5MWHJCZQrQez3XwbYeqXw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=4Y3lr0WyZuU:NpzBNBZtXc8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=4Y3lr0WyZuU:NpzBNBZtXc8:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=4Y3lr0WyZuU:NpzBNBZtXc8:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=4Y3lr0WyZuU:NpzBNBZtXc8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=4Y3lr0WyZuU:NpzBNBZtXc8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=4Y3lr0WyZuU:NpzBNBZtXc8:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=4Y3lr0WyZuU:NpzBNBZtXc8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=4Y3lr0WyZuU:NpzBNBZtXc8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=4Y3lr0WyZuU:NpzBNBZtXc8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/4Y3lr0WyZuU" height="1" width="1"/&gt;</description>
      <link>http://feeds.stevetrefethen.com/~r/SteveTrefethensWeblog/~3/4Y3lr0WyZuU/post.aspx</link>
      <author>Steve</author>
      <comments>http://www.stevetrefethen.com/blog/Applee28099slicenseagreementisitreallyasurprise.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=34d04504-237f-4b61-bdb5-dc833ee8a752</guid>
      <pubDate>Sun, 11 Apr 2010 21:31:00 -0700</pubDate>
      <category>Opinion</category>
      <category>Technology</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=34d04504-237f-4b61-bdb5-dc833ee8a752</pingback:target>
      <slash:comments>27</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=34d04504-237f-4b61-bdb5-dc833ee8a752</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/Applee28099slicenseagreementisitreallyasurprise.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=34d04504-237f-4b61-bdb5-dc833ee8a752</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=34d04504-237f-4b61-bdb5-dc833ee8a752</feedburner:origLink></item>
    <item>
      <title>Querying email addresses in a Google Spreadsheet</title>
      <description>&lt;p&gt;I’ve been playing around with Google Spreadsheets and was attempting to query for an email address stored within a column. It’s pretty straight forward, or at least so I thought, but kept running into the error:&lt;/p&gt; &lt;span style="font: medium &amp;#39;Times New Roman&amp;#39;"&gt;&lt;font size="4"&gt;Parse error: Invalid token encountered&lt;/font&gt;&lt;/span&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;And stumbled around for awhile trying to URL encode various parts of the query string which looks something like this:&lt;/p&gt;  &lt;pre style="font-size: 0.9em"&gt;http://spreadsheets.google.com/feeds/list/myDoc/mySheet/private/full?sq={email}%3djohn@doe.com&lt;/pre&gt;

&lt;p&gt;The documentation states &lt;a href="http://code.google.com/apis/spreadsheets/data/3.0/developers_guide_protocol.html#SendingStructuredRowQueries" target="_blank"&gt;query operators need to be encoded&lt;/a&gt; so I tried applying that to parts of my query with no luck. Eventually, I threw some quotes around the email address and voila, it worked!&lt;/p&gt;

&lt;pre style="font-size: 0.9em"&gt;http://spreadsheets.google.com/feeds/list/myDoc/mySheet/private/full?sq={email}%3d&amp;quot;john@doe.com&amp;quot;&lt;/pre&gt;

&lt;p&gt;I eventually found &lt;a href="http://groups.google.com/group/Google-Docs-Data-APIs/browse_thread/thread/c4254cc9b74e9256" target="_blank"&gt;this thread&lt;/a&gt; validating my findings and indicating my original query might have worked as recently as last December.&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/QueryingemailaddressesinaGoogleSpreadsheet.aspx&amp;amp;t=Querying email addresses in a Google Spreadsheet" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/QueryingemailaddressesinaGoogleSpreadsheet.aspx&amp;amp;title=Querying email addresses in a Google Spreadsheet" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/QueryingemailaddressesinaGoogleSpreadsheet.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TSEpCLUlha6Btet6xzm3zKqWPGM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TSEpCLUlha6Btet6xzm3zKqWPGM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TSEpCLUlha6Btet6xzm3zKqWPGM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TSEpCLUlha6Btet6xzm3zKqWPGM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=5t-XgCbxcT8:ursULDftY6Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=5t-XgCbxcT8:ursULDftY6Y:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=5t-XgCbxcT8:ursULDftY6Y:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=5t-XgCbxcT8:ursULDftY6Y:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=5t-XgCbxcT8:ursULDftY6Y:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=5t-XgCbxcT8:ursULDftY6Y:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=5t-XgCbxcT8:ursULDftY6Y:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=5t-XgCbxcT8:ursULDftY6Y:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=5t-XgCbxcT8:ursULDftY6Y:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/5t-XgCbxcT8" height="1" width="1"/&gt;</description>
      <link>http://feeds.stevetrefethen.com/~r/SteveTrefethensWeblog/~3/5t-XgCbxcT8/post.aspx</link>
      <author>Steve</author>
      <comments>http://www.stevetrefethen.com/blog/QueryingemailaddressesinaGoogleSpreadsheet.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=c98de623-c318-4bc6-8053-24c16f6ebe7b</guid>
      <pubDate>Thu, 08 Apr 2010 01:19:00 -0700</pubDate>
      <category>howto</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=c98de623-c318-4bc6-8053-24c16f6ebe7b</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=c98de623-c318-4bc6-8053-24c16f6ebe7b</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/QueryingemailaddressesinaGoogleSpreadsheet.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=c98de623-c318-4bc6-8053-24c16f6ebe7b</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=c98de623-c318-4bc6-8053-24c16f6ebe7b</feedburner:origLink></item>
    <item>
      <title>Improving Site Performance</title>
      <description>&lt;p&gt;I run &lt;a href="http://www.dotnetblogengine.net/" target="_blank"&gt;BlogEngine.NET&lt;/a&gt; and recently logged into &lt;a href="https://www.google.com/webmasters/tools/home?hl=en" target="_blank"&gt;Google WebMaster Tools&lt;/a&gt; and was a little surprised to read the following paragraph and see the related chart:&lt;/p&gt;  &lt;h2&gt;Performance overview&lt;/h2&gt; On average, pages in your site take 6.8 seconds to load (updated on Apr 4, 2010). This is &lt;strong&gt;slower than 82% of sites&lt;/strong&gt;. These estimates are of low accuracy (fewer than 100 data points). The chart below shows how your site's average page load time has changed over the last few months. For your reference, it also shows the 20th percentile value across all sites, separating slow and fast load times.   &lt;p&gt;&lt;img alt="Chart" src="http://www.stevetrefethen.com/blog/image.axd?picture=perfchart.png" /&gt;&lt;/p&gt;  &lt;p&gt;Yikes! Not. Good.&lt;/p&gt;  &lt;p&gt;As you can see I was able to make some quick changes in March that helped but clearly I’m far from being in the sweet spot.&lt;/p&gt;  &lt;h2&gt;What I Did&lt;/h2&gt;  &lt;p&gt;Using Google’s &lt;a href="http://code.google.com/speed/page-speed/download.html" target="_blank"&gt;Page Speed&lt;/a&gt; and Yahoo’s &lt;a href="http://developer.yahoo.com/yslow/" target="_blank"&gt;YSlow&lt;/a&gt; I started chipping away at the issues. I started on the JavaScript side and added &lt;a href="http://atashbahar.com/post/Combine-minify-compress-JavaScript-files-to-load-ASPNET-pages-faster.aspx" target="_blank"&gt;this combine, compress and minify HttpHandler&lt;/a&gt; which turned out to be quite easy. Next, I applied &lt;a href="http://advsys.net/PRIVOXY-FORCE/ken/utils.htm" target="_blank"&gt;Ken Silverman’s pngout utility&lt;/a&gt; (warning: his background &lt;em&gt;will&lt;/em&gt; hurt your eyes) to my images and minified and combined several CSS files as well as set default images sizes.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Updated April 11, 2010&lt;/strong&gt; I’ve turned off Gravatar because it’s too damn slow particularly for pages with &lt;a href="http://www.stevetrefethen.com/blog/SwitchingbacktoMyYahooclassic.aspx" target="_blank"&gt;lots of comments&lt;/a&gt;. That page used to take 10 seconds to load now it’s just a few seconds.&lt;/p&gt;  &lt;h2&gt;Migrating to IIS7&lt;/h2&gt;  &lt;p&gt;Over the weekend I took the plunge and used the &lt;a href="https://my.discountasp.net/windows2008-migration.aspx" target="_blank"&gt;Migration tool&lt;/a&gt; on my &lt;a href="http://www.discountasp.net/index.aspx?refcode=SDTREF" target="_blank"&gt;discountASP.NET&lt;/a&gt; (which btw, &lt;a href="http://www.stevetrefethen.com/blog/page/Why2bI2bRecommend2bdiscountASPNET.aspx" target="_blank"&gt;I highly recommend&lt;/a&gt;) account and moved to IIS7. You can read about how that went &lt;a href="http://community.discountasp.net/showthread.php?t=10091" target="_blank"&gt;here&lt;/a&gt; but for the most part things were pretty seamless although my site was down for 16 hours or so. After the migration I setup the MS IIS Manager for remote administration allowing me to set cache expiration headers for lots standard images.&lt;/p&gt;  &lt;p&gt;The net result, starting at 78/100…&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Page Speed Score 88/100" border="0" alt="Page Speed Score 88/100" src="http://www.stevetrefethen.com/blog/image.axd?picture=image_14.png" width="403" height="81" /&gt; &lt;/p&gt;  &lt;p&gt;And from a “C” to an “A” on the YSlow report card:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.stevetrefethen.com/blog/image.axd?picture=image_15.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="YSlow performance score" border="0" alt="YSlow performance score" src="http://www.stevetrefethen.com/blog/image.axd?picture=image_thumb_7.png" width="759" height="99" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;At this point, it’s going to be a few more days before Google’s WebMaster Tools re-executes its performance tests but I’m hoping for some dramatically improved results.&lt;/p&gt;  &lt;p&gt;What’s your verdict? How’d I do?&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;[Update April 13, 2010]&lt;/strong&gt; This chart from Google WebMaster Tools of download times is starting to show the improvements I’ve made:    &lt;br /&gt;    &lt;br /&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.stevetrefethen.com/blog/image.axd?picture=image_16.png" width="503" height="192" /&gt;&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/ImprovingSitePerformance.aspx&amp;amp;t=Improving Site Performance" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/ImprovingSitePerformance.aspx&amp;amp;title=Improving Site Performance" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/ImprovingSitePerformance.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uub-Rq7Rb3eoxY60OD5aA-_O554/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uub-Rq7Rb3eoxY60OD5aA-_O554/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uub-Rq7Rb3eoxY60OD5aA-_O554/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uub-Rq7Rb3eoxY60OD5aA-_O554/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=6Yr5cg_Qfjw:mBH7XLBkyv0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=6Yr5cg_Qfjw:mBH7XLBkyv0:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=6Yr5cg_Qfjw:mBH7XLBkyv0:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=6Yr5cg_Qfjw:mBH7XLBkyv0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=6Yr5cg_Qfjw:mBH7XLBkyv0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=6Yr5cg_Qfjw:mBH7XLBkyv0:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=6Yr5cg_Qfjw:mBH7XLBkyv0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=6Yr5cg_Qfjw:mBH7XLBkyv0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=6Yr5cg_Qfjw:mBH7XLBkyv0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/6Yr5cg_Qfjw" height="1" width="1"/&gt;</description>
      <link>http://feeds.stevetrefethen.com/~r/SteveTrefethensWeblog/~3/6Yr5cg_Qfjw/post.aspx</link>
      <author>Steve</author>
      <comments>http://www.stevetrefethen.com/blog/ImprovingSitePerformance.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=1f72243e-2157-42a9-bbb3-0abab78f5cfa</guid>
      <pubDate>Mon, 05 Apr 2010 23:11:00 -0700</pubDate>
      <category>Blog</category>
      <category>BlogEngine.NET</category>
      <category>Performance</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=1f72243e-2157-42a9-bbb3-0abab78f5cfa</pingback:target>
      <slash:comments>12</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=1f72243e-2157-42a9-bbb3-0abab78f5cfa</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/ImprovingSitePerformance.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=1f72243e-2157-42a9-bbb3-0abab78f5cfa</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=1f72243e-2157-42a9-bbb3-0abab78f5cfa</feedburner:origLink></item>
    <item>
      <title>Heading to Google I/O with free Motorola Droid</title>
      <description>&lt;p&gt;I'm going to Google I/O this year and this just landed in my Inbox (highlighting mine): &lt;/p&gt;  &lt;p&gt;&lt;a href="http://code.google.com/events/io/2010/" target="_blank"&gt;&lt;img width="200" height="41" style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" src="http://code.google.com/events/io/2010/images/io-logo.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Hi Steve,     &lt;br /&gt;&amp;#160; This year’s Google I/O is less than 2 months away, and we’re very excited that you and over 4,000 other developers will be joining us in San Francisco. During the 2-day conference, you’ll have over 90 sessions to choose from and the opportunity to meet with developers from over 170 companies that will be demoing their apps and talking in-depth about their use of Google technologies in the Developer Sandbox.      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;As you might have guessed, Android will have a big presence at this year’s event. To make sure you’re equipped to make the most of your Android experience during Google I/O, &lt;strong&gt;we’d like to mail you a Verizon Droid by Motorola&lt;/strong&gt; before the event. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Interesting they didn’t want to sponsor a Nexus One though kudos to Motorola. I’ve installed Eclipse and played around with creating an Android application an experience rather reminiscent of the old Win32 development days.&lt;/p&gt;  &lt;p&gt;So now, what to do with an extra Droid? :-)&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/HeadingtoGoogleIOwithfreeMotorolaDroid.aspx&amp;amp;t=Heading to Google I/O with free Motorola Droid" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/HeadingtoGoogleIOwithfreeMotorolaDroid.aspx&amp;amp;title=Heading to Google I/O with free Motorola Droid" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/HeadingtoGoogleIOwithfreeMotorolaDroid.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images/socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PId7qIKXRfykDSGGcEKoISdq_V0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PId7qIKXRfykDSGGcEKoISdq_V0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PId7qIKXRfykDSGGcEKoISdq_V0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PId7qIKXRfykDSGGcEKoISdq_V0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=SvS_BAdC8-w:dc-mDdvSRSI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=SvS_BAdC8-w:dc-mDdvSRSI:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=SvS_BAdC8-w:dc-mDdvSRSI:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=SvS_BAdC8-w:dc-mDdvSRSI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=SvS_BAdC8-w:dc-mDdvSRSI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=SvS_BAdC8-w:dc-mDdvSRSI:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=SvS_BAdC8-w:dc-mDdvSRSI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=SvS_BAdC8-w:dc-mDdvSRSI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevetrefethen.com/~ff/SteveTrefethensWeblog?a=SvS_BAdC8-w:dc-mDdvSRSI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/SvS_BAdC8-w" height="1" width="1"/&gt;</description>
      <link>http://feeds.stevetrefethen.com/~r/SteveTrefethensWeblog/~3/SvS_BAdC8-w/post.aspx</link>
      <author>Steve</author>
      <comments>http://www.stevetrefethen.com/blog/HeadingtoGoogleIOwithfreeMotorolaDroid.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=6dab7568-0467-4279-a4db-dba0548a044f</guid>
      <pubDate>Mon, 05 Apr 2010 11:23:00 -0700</pubDate>
      <category>For fun</category>
      <category>Hardware</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=6dab7568-0467-4279-a4db-dba0548a044f</pingback:target>
      <slash:comments>6</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=6dab7568-0467-4279-a4db-dba0548a044f</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/HeadingtoGoogleIOwithfreeMotorolaDroid.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=6dab7568-0467-4279-a4db-dba0548a044f</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=6dab7568-0467-4279-a4db-dba0548a044f</feedburner:origLink></item>
  </channel>
</rss>
