﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>Eric Swanson</title>
    <description>Building the Internet... One site at a time(tm)</description>
    <link>http://www.ericis.com/</link>
    <language>en-US</language>
    <pubDate>9/6/2008 2:21:15 AM</pubDate>
    <lastBuildDate>9/6/2008 2:21:15 AM</lastBuildDate>
    <generator>Eric Swanson</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>Eric Swanson</title>
      <url>http://www.ericis.com/images/profile.jpg</url>
      <link>http://www.ericis.com/</link>
    </image>
    <item>
      <title>Silverlight Sucks</title>
      <link>http://www.ericis.com/posts/default.aspx?id=249</link>
      <description>Just compare the system requirements of &lt;a href="http://www.microsoft.com/silverlight/resources/install.aspx#sysreq" target="_blank"&gt;Microsoft's Silverlight&lt;/a&gt; with &lt;a href="http://www.adobe.com/products/flashplayer/productinfo/systemreqs/" target="_blank"&gt;Adobe's Flash (Macromedia)&lt;/a&gt;. Now, Flash has traveled the world and taken in all the sites for years and years. But, you'd think with the importance of playing in this space that Microsoft would compete a little harder... Oh wait... you all are still excited about Silverlight no matter what reality dictates. That's right... Let me know how it goes. I'll stick with the basics for a little while longer. (Don't get me wrong, I get just as excited as you do about Silverlight and an embedded light-weight .NET environment, but I don't let emotions control my actions.) Oh, and let me know how well Microsoft acquired Yahoo! and how they competed in the ad space while you're whistling Silverlight tunes. :) For all their efforts, I continue to applaud the developers at Microsoft. I'm certain you've done better than I could have. BTW: I'm loving what I've seen of WCF so far!</description>
      <category>Software Development</category>
      <guid isPermaLink="true">http://www.ericis.com/posts/default.aspx?id=249</guid>
      <pubDate>7/23/2008 10:48:09 AM</pubDate>
    </item>
    <item>
      <title>Key Technologies Announcement</title>
      <link>http://www.ericis.com/posts/default.aspx?id=248</link>
      <description>Announcing the Web 2.0 YUI AJAX-enabled, Adobe RIA driven mashup with Silverlight 2.0 WPF XAML tutorials for social, community tagging and clipping supported by a LINQ backend running on top of Astoria from a geospatial aware SQL 2008 and communicating with JSON! All of this using scalable SOA built in the Cloud via REST APIs managed by an ESB and Grid Computing! You won't even recognize this Ruby Gem! :)</description>
      <category>Software Development</category>
      <guid isPermaLink="true">http://www.ericis.com/posts/default.aspx?id=248</guid>
      <pubDate>4/2/2008 11:00:35 PM</pubDate>
    </item>
    <item>
      <title>Updating my network of sites...</title>
      <link>http://www.ericis.com/posts/default.aspx?id=247</link>
      <description>&lt;p&gt;I'm in the process of updating my network of websites. I've been transitioning to "Enterprise Architecture" along with a lot of other life changes. Busy, busy, busy... I've been using &lt;a href="http://del.icio.us/ericis"&gt;del.icio.us &lt;/a&gt; a lot lately, so here's what I've been looking at lately:&lt;/p&gt;
&lt;script type="text/javascript" src="http://del.icio.us/feeds/js/tags/ericis?sort=freq;icon;count=137;totals;size=11-24;color=87ceeb-0000ff;title=my%20del.icio.us%20tags;name;showadd"&gt;&lt;/script&gt;</description>
      <category>Website</category>
      <guid isPermaLink="true">http://www.ericis.com/posts/default.aspx?id=247</guid>
      <pubDate>7/17/2008 12:19:47 PM</pubDate>
    </item>
    <item>
      <title>How to be a Failure!</title>
      <link>http://www.ericis.com/posts/default.aspx?id=246</link>
      <description>&lt;p&gt;After starting the lengthy-titled book &lt;a href="http://www.stevemcdermott.com/" target="_blank"&gt;"How to Be a Complete and Utter Failure in Life, Work &amp; Everything: 44 1/2 Steps to Lasting Underachievement"&lt;/a&gt;, I had to comment...&lt;/p&gt;
&lt;p&gt;
Steve,&lt;br /&gt;
&lt;br /&gt;
So far, I have failed to finish your book this morning due to 
pressing interruptions in business that are causing me great 
succstress.&lt;br /&gt;
&lt;br /&gt;
I had the need to make a suggestion: "Whether &lt;abbr title="he/she"&gt;neh&lt;/abbr&gt; accepts the 
advice, is completely up to &lt;abbr title="him/her"&gt;ner&lt;/abbr&gt;."&lt;br /&gt;
&lt;br /&gt;
The words &lt;abbr title="he/she"&gt;"neh"&lt;/abbr&gt; and &lt;abbr title="him/her"&gt;"ner"&lt;/abbr&gt; refer to he/she and him/her 
respectively. I started the words with the letter "n" to refer 
to "nobody in particular".&lt;br /&gt;
&lt;br /&gt;
I saw that you Trademarked "self-unimprovement guide". In the 
same respect of unwillingness to share great ideas, I now 
trademark "neh" and "ner" and "succstress" and grant you the 
right to use these words if they refer to me as the author in 
respective context. ;D&lt;br /&gt;
&lt;br /&gt;
Eric Swanson&lt;br /&gt;
&lt;a href="http://iseric.com"&gt;http://iseric.com&lt;/a&gt;&lt;br /&gt;
&lt;/p&gt;</description>
      <category>Book Reviews</category>
      <guid isPermaLink="true">http://www.ericis.com/posts/default.aspx?id=246</guid>
      <pubDate>7/17/2008 12:19:36 PM</pubDate>
    </item>
    <item>
      <title>Life Really is Good</title>
      <link>http://www.ericis.com/posts/default.aspx?id=245</link>
      <description>&lt;p&gt;Today is a really great day (for more reasons than I care to share with the world). I'm writing this entry today simply to share how much gratitude I have for my life.&lt;/p&gt;
&lt;p&gt;
Following are some highlights of my day (by the end of the day):
&lt;ul&gt;
&lt;li&gt;Talked with my wife throughout the day while she is helping my mom on a catering job&lt;/li&gt;
&lt;li&gt;Reflected in my daily journal&lt;/li&gt;
&lt;li&gt;Completed security integration of a Windows Forms CMS tool for the unreleased re-write of www.AzBlue.com&lt;/li&gt;
&lt;li&gt;Helped my security director solve an urgent issue related to a bug in Internet Explorer&lt;/li&gt;
&lt;li&gt;Created an Excel-VBA macro for a friend to find text in a column and select the entire row for every match&lt;/li&gt;
&lt;li&gt;Rehearsed the dance "Tradition" for an upcoming Fiddler on the Roof production (September) by &lt;a href="http://starlightcommunitytheater.org/" target="_blank"&gt;Starlight Community Theatre&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Continued to practice my song for my &lt;a href="http://media.myfoxphoenix.com/KSAZ/AZ-Idol/index.html" target="_blank"&gt;Arizona Idol&lt;/a&gt; audition on July 30&lt;/li&gt;
&lt;li&gt;Attended a daily meeting with friends&lt;/li&gt;
&lt;li&gt;Spent a moment talking to both of my parents&lt;/li&gt;
&lt;li&gt;Spent some time playing with my dogs&lt;/li&gt;
&lt;li&gt;Woke up and went to bed with a personal prayer&lt;/li&gt;
&lt;li&gt;Was so excited by the little things in my day that I felt compelled to write about it on a website for the whole world to see&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;I am truly grateful and I love the good times and I respect the bad times.&lt;/p&gt;</description>
      <category>Health &amp; Wellness</category>
      <guid isPermaLink="true">http://www.ericis.com/posts/default.aspx?id=245</guid>
      <pubDate>7/25/2007 5:15:28 AM</pubDate>
    </item>
    <item>
      <title>Obtaining Response.OutputStream.Length...</title>
      <link>http://www.ericis.com/posts/default.aspx?id=244</link>
      <description>&lt;p&gt;In ASP.NET, the &lt;code&gt;Response.OutputStream&lt;/code&gt; is write-only. As a result, if you attempt to read the length of the response output at any point in stage in the page events, you get the "&lt;code&gt;NotSupportedException&lt;/code&gt;". Taking a page from the book of guys who wrote compression filters that compress the response output on-the-fly, I discovered that I could access the length of the response as it is written...&lt;/p&gt;
&lt;p&gt;
Basically, I wrote a custom class that inherits "&lt;code&gt;Stream&lt;/code&gt;" and overrides all of the appropriate stream's methods/properties. The default constructor accepts a &lt;code&gt;Stream&lt;/code&gt; object and stores it in a private variable, so the overridden methods/properties all expose the underlying stream's methods/properties. Example: &lt;code&gt;override public bool CanRead { get { return this._stream.CanRead; } }&lt;/code&gt;. I declared a "&lt;code&gt;private long _length = 0;&lt;/code&gt;" variable and set the value in my stream's "&lt;code&gt;SetLength&lt;/code&gt;" method and update it in the "&lt;code&gt;Write&lt;/code&gt;" method using the "count" parameter, ensuring the length always reflects the data length. In the "&lt;code&gt;Close&lt;/code&gt;" method, I use "&lt;code&gt;base.Close();&lt;/code&gt;" and then I can do whatever I want with my private "&lt;code&gt;_length&lt;/code&gt;" variable, which contains the length of the response's output stream.&lt;/p&gt;
&lt;p&gt;
Once I had the class above, I used the following code in the page's "&lt;code&gt;OnLoad&lt;/code&gt;" event:&lt;br /&gt;
&lt;code&gt;
this.Response.Filter = new ObserveResponseLengthStream(this.Response.Filter);&lt;/code&gt;
&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;
Per Jorge Pereyra's request, here is the code for "write, setLength, flush and seek":
&lt;/p&gt;
&lt;p&gt;&lt;pre style="width:365px;overflow:scroll"&gt;&lt;code&gt;
class ObserveResponseLengthStream : Stream
{
   private Stream _stream = null;
   private long _length = 0;
   public ObserveResponseLengthStream(Guid urlKey, 
      Stream stream)
   {
      this._stream = stream;
   }

   public override long Seek(long offset, 
      SeekOrigin origin)
   {
      return this._stream.Seek(offset, origin);
   }

   public override void Flush()
   {
      this._stream.Flush();
   }

   public override void SetLength(long value)
   {
      this._stream.SetLength(value);
      this._length = value;
   }

   public override void Write(byte[] buffer, 
      int offset, 
      int count)
   {
      this._stream.Write(buffer, offset, count);
      this._length += (long)count;
   }

   public override void Close()
   {
      try
      {
         this._stream.Close();
      }
      catch { }

      base.Close();

      try
      {
         /*now you know the actual length 
           of the response in this._length,
           so do whatever you want with it*/
      }
      catch (Exception ex)
      {
         //make sure your exceptions are handled!
      }
   }

   /*...all the other code simply exposes the 
     _stream's properties and methods...*/
}
&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Software Development</category>
      <guid isPermaLink="true">http://www.ericis.com/posts/default.aspx?id=244</guid>
      <pubDate>7/17/2008 12:37:31 PM</pubDate>
    </item>
    <item>
      <title>Configuration a Machine for Microsoft Software</title>
      <link>http://www.ericis.com/posts/default.aspx?id=243</link>
      <description>I recently received a new laptop that needed a new operating 
system and developer software. I've setup machines countless 
times, so I might as well make a list that others can learn 
from...</description>
      <category>Software Development</category>
      <guid isPermaLink="true">http://www.ericis.com/posts/default.aspx?id=243</guid>
      <pubDate>3/4/2007 2:43:28 PM</pubDate>
    </item>
    <item>
      <title>Raymond Chen's "The Old New Thing"</title>
      <link>http://www.ericis.com/posts/default.aspx?id=242</link>
      <description>&lt;p&gt;&lt;a href="http://www.ericis.com/RaymondChen-TheOldNewThing.aspx" class="img"&gt;&lt;img src="http://www.iseric.com/Media/Images/Books/TheOldNewThing-RaymondChen.jpg" align="left" style="margin-right:10px;margin-bottom:10px;" /&gt;&lt;/a&gt; Raymond Chen's book titled "The Old New Thing" is the realization of a web blog in print. Parts of the book can be enjoyed by anyone who has dealt with the evolution of the Microsoft Windows operating system and inevitably asked the question "Why?" Why does Windows look like it does? Why are those seemingly quirky things about Windows the way they are?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description>
      <category>Book Reviews</category>
      <guid isPermaLink="true">http://www.ericis.com/posts/default.aspx?id=242</guid>
      <pubDate>3/3/2007 12:16:47 PM</pubDate>
    </item>
    <item>
      <title>Books on CD</title>
      <link>http://www.ericis.com/posts/default.aspx?id=241</link>
      <description>&lt;p&gt;I finished three books on CD in January; &lt;a href="http://www.jimcollins.com/" target="_blank"&gt;Good to Great&lt;/a&gt;, &lt;a href="http://www.amazon.com/Managing-Dynamics-Change-Productive-Workplace/dp/0071470441" target="_blank"&gt;Managing the Dynamics of Change&lt;/a&gt;, and &lt;a href="http://www.builttochange.com/" target="_blank"&gt;Built to Change&lt;/a&gt;. I listened to the "Change" CDs first only to hear the author in "Good to Great" scold companies for focusing so much on change management. It was a refreshing reminder how we all get caught up in a single method of management and fail to swim upstream or even question why we're swimming in the stream we're in. However, dealing with change effectively in a business is vital to success. Quite honestly, the books all cover common sense topics, but most of us don't take the time to sit and actually think through some common sense. So, once again, I am recommending that at least read "Good to Great" to take some personal time and get some thinking in the realm of "back to basics".&lt;/p&gt;
&lt;div style="text-align:center;"&gt;
&lt;a href="http://www.jimcollins.com/" target="_blank" class="img"&gt;&lt;img src="/Media/Images/Books/Good-to-Great.jpg" alt="Good to Great" style="width:160px;" /&gt;&lt;/a&gt;
&lt;a href="http://www.amazon.com/Managing-Dynamics-Change-Productive-Workplace/dp/0071470441" target="_blank" class="img"&gt;&lt;img src="/Media/Images/Books/Managing-the-Dynamics-of-Change.jpg" alt="Managing the Dynamics of Change" style="width:160px;" /&gt;&lt;/a&gt;
&lt;a href="http://www.builttochange.com/" target="_blank" class="img"&gt;&lt;img src="/Media/Images/Books/Built-to-Change.jpg" alt="Built to Change" style="width:160px;" /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <category>Book Reviews</category>
      <guid isPermaLink="true">http://www.ericis.com/posts/default.aspx?id=241</guid>
      <pubDate>3/3/2007 12:20:41 PM</pubDate>
    </item>
    <item>
      <title>In the Navy</title>
      <link>http://www.ericis.com/posts/default.aspx?id=240</link>
      <description>&lt;p style="background-color:#999;color:black;padding:10px;border:solid 1px black;"&gt;&lt;img src="http://www.navy.mil/images/navy_mil/navyseal_small.gif" alt="Navy Official Seal" align="left" style="text-align:left;margin-right:5px;" /&gt; My wife had been in the service with &lt;a href="http://www.navy.mil/" target="_blank" style="color:navy;"&gt;the US Navy&lt;/a&gt; for about 5 years before we ever met and she has wanted to re-join for some time now. Well, she's been gathering information and talking about it for months and finally seized the opportunity to join the Naval reserves. That's right! Last Tuesday, Wendy re-joined the Navy and that makes me a proud husband to a member of our nation's military. Although I am certainly against violence as a means to an end, I definately understand the need to protect the things we feel need protecting (family, country, beliefs/values, etc.) You tell me... what's the alternative when a person has a gun pointed at you? Are you the type that shoots first and asks later? What if a person simply has a gun on them? Do you feel the need to also have a gun? What if they look a certain way or behave a certain way that offends you or makes you wary? Security... a basic need and desire of all living things.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;</description>
      <category>Family</category>
      <guid isPermaLink="true">http://www.ericis.com/posts/default.aspx?id=240</guid>
      <pubDate>2/1/2007 1:45:39 AM</pubDate>
    </item>
  </channel>
</rss>