<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 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:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>thirstycrow</title>
    <link>http://thirstycrow.net/blog/</link>
    <description>.net programming for the web and the desktop.</description>
    <language>en-us</language>
    <copyright>thirstycrow.net</copyright>
    <lastBuildDate>Fri, 23 Jan 2009 18:13:26 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.2.8279.16125</generator>
    <managingEditor>will@thirstycrow.net</managingEditor>
    <webMaster>will@thirstycrow.net</webMaster>
    <item>
      <trackback:ping>http://thirstycrow.net/blog/Trackback.aspx?guid=79d07912-bc45-4a6f-b93d-fee0a2416905</trackback:ping>
      <pingback:server>http://thirstycrow.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://thirstycrow.net/blog/PermaLink,guid,79d07912-bc45-4a6f-b93d-fee0a2416905.aspx</pingback:target>
      <dc:creator>Will</dc:creator>
      <wfw:comment>http://thirstycrow.net/blog/CommentView,guid,79d07912-bc45-4a6f-b93d-fee0a2416905.aspx</wfw:comment>
      <wfw:commentRss>http://thirstycrow.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=79d07912-bc45-4a6f-b93d-fee0a2416905</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
For the application I’m currently working on I have a simple interface that I implement
in all of the pages.  One of the methods is for showing feedback to the user
when records are updated or input validation errors arise.  The interface looks
like this simplified version:
</p>
        <pre class="c#" name="code">public interface IMyPage {
    void ShowFeedback(string message, ModalMessageType messageType);
}</pre>
        <p>
ModalMessageType is an enumerator:
</p>
        <pre class="c#" name="code">public enum ModalMessageType {
    Success,
    Caution,
    Feedback,
    Error
}</pre>
        <p>
The meat of the application’s moving parts are encapsulated in user controls which
themselves implement an interface of their own.  Here is a simplified version:
</p>
        <pre class="c#" name="code">public interface ISubordinateCommonView {
    IMyPage ContainingPage { get; set; }
}</pre>
        <p>
As you can see the interface provides a property called ContainingPage that allows
a reference to the – wait for it – page containing the user control to be passed via
the Page_Load event ala
</p>
        <pre class="c#" name="code">protected void Page_Load(object sender, EventArgs e) {
    MyUserControl.ContainingPage = this;
}</pre>
        <p>
The modal panel is made by taking advantage of the ModalPopupExtender control from
the Ajax Toolkit.  In each page at the bottom is the following markup:
</p>
        <pre class="xml" name="code">&lt;asp:UpdatePanel  UpdateMode="Conditional" ID="udpModalMessage" runat="server" &gt;
    &lt;ContentTemplate&gt;
        &lt;ajaxToolkit:ModalPopupExtender runat="server" ID="mpModalMessage"
        TargetControlID="btnHiddenModalPopupTarget"
        PopupControlID="pnlModalMessage"
        BackgroundCssClass="modalBackground"
        CancelControlID="lkbCloseModalMessage"
        /&gt;
        &lt;asp:Panel ID="pnlModalMessage" runat="server" Style="display: none;" 
            DefaultButton="lkbCloseModalMessage"&gt;
            &lt;asp:Timer ID="tmrTimer" runat="server" Interval="2000" Enabled="false"
                 ontick="tmrTimer_Tick" /&gt;
            &lt;div class="divModalMessageWrapper"&gt;
                &lt;asp:Literal ID="litMessage" runat="server" /&gt;
                &lt;br /&gt;
                &lt;asp:LinkButton ID="lkbCloseModalMessage" runat="server" 
                Text="Continue" OnClick="lkbCloseModalMessage_Click" /&gt;
            &lt;/div&gt;
        &lt;/asp:Panel&gt;
        &lt;asp:Button ID="btnHiddenModalPopupTarget" runat="server" Style="display: none" /&gt;
    &lt;/ContentTemplate&gt;
&lt;/asp:UpdatePanel&gt;</pre>
        <p>
Notice that the panel contains a Literal control and a LinkButton.  The LinkButton
is used to cancel the modal dialog while the Literal control shows the message. 
The style of the message is determined by the ModalMessageType enum value (see the
CSS below).  The panel also contains a Timer control which is disabled. 
In the code behind for the page are ShowFeedback method as well as the handlers for
the Timer ontick event and the LinkButton click event.
</p>
        <pre class="c#" name="code">public void ShowFeedback(string message, ModalMessageTypes messageType) {
    litMessage.Text = "";

    StringBuilder sb = new StringBuilder();

    //the enum vals are used to choose the css class for the div
    sb.Append("&lt;div class=\"divModalMessage" + messageType.ToString() + "\" &gt;");
    sb.Append(message);
    sb.Append("&lt;/div&gt;");

    litMessage.Text = sb.ToString();

    mpModalMessage.Show();

    if (messageType == ModalMessageTypes.Error) tmrTimer.Enabled = false;
    else tmrTimer.Enabled = true;

}

protected void lkbCloseModalMessage_Click(object sender, EventArgs e) {
    mpModalMessage.Hide();
}

protected void tmrTimer_Tick(object sender, EventArgs e) {
    mpModalMessage.Hide();
    tmrTimer.Enabled = false;
}</pre>
        <p>
Notice in the last two lines of the ShowFeedback method that in my particular scenario
I have chosen to have all non-error message automatically dismiss themselves after
two seconds.  Error messages must be canceled by the user.  Putting it all
together I can have the following code in my web control:
</p>
        <pre class="c#" name="code">private void UpdateSomeRecord(string s, int i) {
    try {
        //code to update the record
        ContainingPage.ShowFeedback("Record updated", ModalMessageTypes.Success);
    }
    catch (Exception ex) {
        ContainingPage.ShowFeedback(ex.Message, ModalMessageTypes.Error);
    }
}</pre>
        <p>
Here’s the associated css:
</p>
        <pre class="css" name="code">.divModalMessageSuccess {
    border-width: 2px;
    border-style: solid;
    border-color: #54864E;
    color: #54864E;
    background-color: #B8D4B5;
    padding: 4px;
}    

.divModalMessageCaution {
    border-width: 2px;
    border-style: solid;
    border-color: #B19707;
    color: #B19707;
    background-color: #F8E78B;
    padding: 4px;
}

.divModalMessageFeedback {
    border-width: 2px;
    border-style: solid;
    border-color: #26588A;
    color: #26588A;    
    background-color: #B7CFE7;
    padding: 4px;
}

.divModalMessageError {
    border-width: 2px;
    border-style: solid;
    border-color: #980202;
    color: #980202;
    background-color: #F2C8C8;
    padding: 4px;
}</pre>
        <img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=79d07912-bc45-4a6f-b93d-fee0a2416905" />
      </body>
      <title>Self-dismissing Ajax Modal Popup</title>
      <guid isPermaLink="false">http://thirstycrow.net/blog/PermaLink,guid,79d07912-bc45-4a6f-b93d-fee0a2416905.aspx</guid>
      <link>http://thirstycrow.net/blog/2009/01/23/SelfdismissingAjaxModalPopup.aspx</link>
      <pubDate>Fri, 23 Jan 2009 18:13:26 GMT</pubDate>
      <description>&lt;p&gt;
For the application I’m currently working on I have a simple interface that I implement
in all of the pages.&amp;#160; One of the methods is for showing feedback to the user
when records are updated or input validation errors arise.&amp;#160; The interface looks
like this simplified version:
&lt;/p&gt;
&lt;pre class="c#" name="code"&gt;public interface IMyPage {
    void ShowFeedback(string message, ModalMessageType messageType);
}&lt;/pre&gt;
&lt;p&gt;
ModalMessageType is an enumerator:
&lt;/p&gt;
&lt;pre class="c#" name="code"&gt;public enum ModalMessageType {
    Success,
    Caution,
    Feedback,
    Error
}&lt;/pre&gt;
&lt;p&gt;
The meat of the application’s moving parts are encapsulated in user controls which
themselves implement an interface of their own.&amp;#160; Here is a simplified version:
&lt;/p&gt;
&lt;pre class="c#" name="code"&gt;public interface ISubordinateCommonView {
    IMyPage ContainingPage { get; set; }
}&lt;/pre&gt;
&lt;p&gt;
As you can see the interface provides a property called ContainingPage that allows
a reference to the – wait for it – page containing the user control to be passed via
the Page_Load event ala
&lt;/p&gt;
&lt;pre class="c#" name="code"&gt;protected void Page_Load(object sender, EventArgs e) {
    MyUserControl.ContainingPage = this;
}&lt;/pre&gt;
&lt;p&gt;
The modal panel is made by taking advantage of the ModalPopupExtender control from
the Ajax Toolkit.&amp;#160; In each page at the bottom is the following markup:
&lt;/p&gt;
&lt;pre class="xml" name="code"&gt;&amp;lt;asp:UpdatePanel  UpdateMode=&amp;quot;Conditional&amp;quot; ID=&amp;quot;udpModalMessage&amp;quot; runat=&amp;quot;server&amp;quot; &amp;gt;
    &amp;lt;ContentTemplate&amp;gt;
        &amp;lt;ajaxToolkit:ModalPopupExtender runat=&amp;quot;server&amp;quot; ID=&amp;quot;mpModalMessage&amp;quot;
        TargetControlID=&amp;quot;btnHiddenModalPopupTarget&amp;quot;
        PopupControlID=&amp;quot;pnlModalMessage&amp;quot;
        BackgroundCssClass=&amp;quot;modalBackground&amp;quot;
        CancelControlID=&amp;quot;lkbCloseModalMessage&amp;quot;
        /&amp;gt;
        &amp;lt;asp:Panel ID=&amp;quot;pnlModalMessage&amp;quot; runat=&amp;quot;server&amp;quot; Style=&amp;quot;display: none;&amp;quot; 
            DefaultButton=&amp;quot;lkbCloseModalMessage&amp;quot;&amp;gt;
            &amp;lt;asp:Timer ID=&amp;quot;tmrTimer&amp;quot; runat=&amp;quot;server&amp;quot; Interval=&amp;quot;2000&amp;quot; Enabled=&amp;quot;false&amp;quot;
                 ontick=&amp;quot;tmrTimer_Tick&amp;quot; /&amp;gt;
            &amp;lt;div class=&amp;quot;divModalMessageWrapper&amp;quot;&amp;gt;
                &amp;lt;asp:Literal ID=&amp;quot;litMessage&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;
                &amp;lt;br /&amp;gt;
                &amp;lt;asp:LinkButton ID=&amp;quot;lkbCloseModalMessage&amp;quot; runat=&amp;quot;server&amp;quot; 
                Text=&amp;quot;Continue&amp;quot; OnClick=&amp;quot;lkbCloseModalMessage_Click&amp;quot; /&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/asp:Panel&amp;gt;
        &amp;lt;asp:Button ID=&amp;quot;btnHiddenModalPopupTarget&amp;quot; runat=&amp;quot;server&amp;quot; Style=&amp;quot;display: none&amp;quot; /&amp;gt;
    &amp;lt;/ContentTemplate&amp;gt;
&amp;lt;/asp:UpdatePanel&amp;gt;&lt;/pre&gt;
&lt;p&gt;
Notice that the panel contains a Literal control and a LinkButton.&amp;#160; The LinkButton
is used to cancel the modal dialog while the Literal control shows the message.&amp;#160;
The style of the message is determined by the ModalMessageType enum value (see the
CSS below).&amp;#160; The panel also contains a Timer control which is disabled.&amp;#160;
In the code behind for the page are ShowFeedback method as well as the handlers for
the Timer ontick event and the LinkButton click event.
&lt;/p&gt;
&lt;pre class="c#" name="code"&gt;public void ShowFeedback(string message, ModalMessageTypes messageType) {
    litMessage.Text = &amp;quot;&amp;quot;;

    StringBuilder sb = new StringBuilder();

    //the enum vals are used to choose the css class for the div
    sb.Append(&amp;quot;&amp;lt;div class=\&amp;quot;divModalMessage&amp;quot; + messageType.ToString() + &amp;quot;\&amp;quot; &amp;gt;&amp;quot;);
    sb.Append(message);
    sb.Append(&amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);

    litMessage.Text = sb.ToString();

    mpModalMessage.Show();

    if (messageType == ModalMessageTypes.Error) tmrTimer.Enabled = false;
    else tmrTimer.Enabled = true;

}

protected void lkbCloseModalMessage_Click(object sender, EventArgs e) {
    mpModalMessage.Hide();
}

protected void tmrTimer_Tick(object sender, EventArgs e) {
    mpModalMessage.Hide();
    tmrTimer.Enabled = false;
}&lt;/pre&gt;
&lt;p&gt;
Notice in the last two lines of the ShowFeedback method that in my particular scenario
I have chosen to have all non-error message automatically dismiss themselves after
two seconds.&amp;#160; Error messages must be canceled by the user.&amp;#160; Putting it all
together I can have the following code in my web control:
&lt;/p&gt;
&lt;pre class="c#" name="code"&gt;private void UpdateSomeRecord(string s, int i) {
    try {
        //code to update the record
        ContainingPage.ShowFeedback(&amp;quot;Record updated&amp;quot;, ModalMessageTypes.Success);
    }
    catch (Exception ex) {
        ContainingPage.ShowFeedback(ex.Message, ModalMessageTypes.Error);
    }
}&lt;/pre&gt;
&lt;p&gt;
Here’s the associated css:
&lt;/p&gt;
&lt;pre class="css" name="code"&gt;.divModalMessageSuccess {
    border-width: 2px;
    border-style: solid;
    border-color: #54864E;
    color: #54864E;
    background-color: #B8D4B5;
    padding: 4px;
}    

.divModalMessageCaution {
    border-width: 2px;
    border-style: solid;
    border-color: #B19707;
    color: #B19707;
    background-color: #F8E78B;
    padding: 4px;
}

.divModalMessageFeedback {
    border-width: 2px;
    border-style: solid;
    border-color: #26588A;
    color: #26588A;    
    background-color: #B7CFE7;
    padding: 4px;
}

.divModalMessageError {
    border-width: 2px;
    border-style: solid;
    border-color: #980202;
    color: #980202;
    background-color: #F2C8C8;
    padding: 4px;
}&lt;/pre&gt;&lt;img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=79d07912-bc45-4a6f-b93d-fee0a2416905" /&gt;</description>
      <comments>http://thirstycrow.net/blog/CommentView,guid,79d07912-bc45-4a6f-b93d-fee0a2416905.aspx</comments>
      <category>Ajax</category>
      <category>asp.net</category>
    </item>
    <item>
      <trackback:ping>http://thirstycrow.net/blog/Trackback.aspx?guid=473d90c3-bb74-4aaa-abbb-f10cfd238669</trackback:ping>
      <pingback:server>http://thirstycrow.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://thirstycrow.net/blog/PermaLink,guid,473d90c3-bb74-4aaa-abbb-f10cfd238669.aspx</pingback:target>
      <dc:creator>Will</dc:creator>
      <wfw:comment>http://thirstycrow.net/blog/CommentView,guid,473d90c3-bb74-4aaa-abbb-f10cfd238669.aspx</wfw:comment>
      <wfw:commentRss>http://thirstycrow.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=473d90c3-bb74-4aaa-abbb-f10cfd238669</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I ended up rolling back to XP on my Acer Aspire One.  The boot time was annoyingly
slow, and overall the machine felt sluggish.  I made some attempts to minimize
the strain by adjusting visual effects for best performance, but that did not make
an appreciable difference.  None of this was unexpected.  XP is snappier
with a much faster boot and more responsive operation on the whole.  
</p>
        <p>
One issue that I have noticed is painfully slow wireless connectivity.  I fixed
this by going into the Device Manager and opening the properties dialog for the Atheros
Wireless Network Adapter.  On the Advanced tab I clicked on Power Save Mode and
set the Value to "Off".  This lets the wireless connection have its fill of power
while running on battery.  As I'm sure you can guess, the downside is that it
does in fact use more battery power.  
</p>
        <img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=473d90c3-bb74-4aaa-abbb-f10cfd238669" />
      </body>
      <title>Vista On The Acer Aspire One: Following Up And Rolling Back</title>
      <guid isPermaLink="false">http://thirstycrow.net/blog/PermaLink,guid,473d90c3-bb74-4aaa-abbb-f10cfd238669.aspx</guid>
      <link>http://thirstycrow.net/blog/2009/01/05/VistaOnTheAcerAspireOneFollowingUpAndRollingBack.aspx</link>
      <pubDate>Mon, 05 Jan 2009 19:22:18 GMT</pubDate>
      <description>&lt;p&gt;
I ended up rolling back to XP on my Acer Aspire One.&amp;nbsp; The boot time was annoyingly
slow, and overall the machine felt sluggish.&amp;nbsp; I made some attempts to minimize
the strain by adjusting visual effects for best performance, but that did not make
an appreciable difference.&amp;nbsp; None of this was unexpected.&amp;nbsp; XP is snappier
with a much faster boot and more responsive operation on the whole.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
One issue that I have noticed is painfully slow wireless connectivity.&amp;nbsp; I fixed
this by going into the Device Manager and opening the properties dialog for the Atheros
Wireless Network Adapter.&amp;nbsp; On the Advanced tab I clicked on Power Save Mode and
set the Value to "Off".&amp;nbsp; This lets the wireless connection have its fill of power
while running on battery.&amp;nbsp; As I'm sure you can guess, the downside is that it
does in fact use more battery power.&amp;nbsp; 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=473d90c3-bb74-4aaa-abbb-f10cfd238669" /&gt;</description>
      <comments>http://thirstycrow.net/blog/CommentView,guid,473d90c3-bb74-4aaa-abbb-f10cfd238669.aspx</comments>
      <category>Equipment</category>
      <category>Netbook</category>
    </item>
    <item>
      <trackback:ping>http://thirstycrow.net/blog/Trackback.aspx?guid=912f5893-f234-4b74-a711-98ffb53b9dd8</trackback:ping>
      <pingback:server>http://thirstycrow.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://thirstycrow.net/blog/PermaLink,guid,912f5893-f234-4b74-a711-98ffb53b9dd8.aspx</pingback:target>
      <dc:creator>Will</dc:creator>
      <wfw:comment>http://thirstycrow.net/blog/CommentView,guid,912f5893-f234-4b74-a711-98ffb53b9dd8.aspx</wfw:comment>
      <wfw:commentRss>http://thirstycrow.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=912f5893-f234-4b74-a711-98ffb53b9dd8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I received my Acer Aspire One (AAO) this weekend.  As I mentioned before, the
first order of business was to reload the operating system.  Loading the OS on
this class of device - netbook - requires the use of a USB flash drive if you don't
have access to an external CD drive.  You can find a tool called <a href="http://www.boot-land.net/forums/?showtopic=4900">USB_MultiBoot_10</a> at <a href="http://www.boot-land.net/">boot-land.net</a>. 
That is the tool referenced in <a href="http://www.youtube.com/watch?v=2Vt_8p0VllY">the
how-to video</a> I found on YouTube.  Even though I wanted to use Vista, I ran
through the process as shown in the video for an XP install to familiarize myself
with the procedure.  I made it through without any problems using a 4GB Corsair
Flash Voyager.  Next I moved to Vista.  The USB Mulitboot tool allows this
as well.  The setup is not as straightforward as XP steps without a video as
a guide, but I found <a href="http://www.msfn.org/board/lofiversion/index.php/t122551.html">this
post</a> that made the process clearer.  The steps are laid out in the Aug 30
2008, 11:54 PM post by user 'wimb'.
</p>
        <p>
          <strong>Drivers</strong>
        </p>
        <p>
This table shows the drivers you'll need for the AAO:
</p>
        <table cellspacing="0" cellpadding="2" width="477" border="0">
          <tbody>
            <tr>
              <td valign="top" width="132">
                <strong>Driver</strong>
              </td>
              <td valign="top" width="133">
                <strong>Vista Version</strong>
              </td>
              <td valign="top" width="210">
                <strong>Worked On Vista</strong>
              </td>
            </tr>
            <tr>
              <td valign="top" width="132">
Sound</td>
              <td valign="top" width="133">
Yes</td>
              <td valign="top" width="210">
Yes</td>
            </tr>
            <tr>
              <td valign="top" width="132">
Card Reader</td>
              <td valign="top" width="133">
No</td>
              <td valign="top" width="210">
Yes</td>
            </tr>
            <tr>
              <td valign="top" width="132">
Web Cam</td>
              <td valign="top" width="133">
No</td>
              <td valign="top" width="210">
Yes</td>
            </tr>
            <tr>
              <td valign="top" width="132">
Chipset</td>
              <td valign="top" width="133">
Yes</td>
              <td valign="top" width="210">
Yes</td>
            </tr>
            <tr>
              <td valign="top" width="132">
NIC</td>
              <td valign="top" width="133">
No</td>
              <td valign="top" width="210">
Alternate</td>
            </tr>
            <tr>
              <td valign="top" width="132">
Touchpad</td>
              <td valign="top" width="133">
No</td>
              <td valign="top" width="210">
Not extended properties</td>
            </tr>
            <tr>
              <td valign="top" width="132">
Video</td>
              <td valign="top" width="133">
No</td>
              <td valign="top" width="210">
Yes</td>
            </tr>
            <tr>
              <td valign="top" width="132">
WiFi</td>
              <td valign="top" width="133">
No</td>
              <td valign="top" width="210">
Alternate</td>
            </tr>
          </tbody>
        </table>
        <p>
All the XP drivers can be <a href="http://acer.com/support/download.htm">downloaded
from the support section</a> of the Acer site.  As shown above, the Vista drivers
are included for the sound card and chipset.  The others worked anyway except
for the network, both NIC and WiFi.  I found <a href="http://forum.notebookreview.com/showthread.php?t=314203&amp;page=2">this
post</a> that showed where the Atheros WiFi drivers could be found.  The downloads
were slow, but worked.  As the post says, after installing the drivers in the
"Install Vista 6120 1009.zip" use the other download files to update the last errant
device in the device manager.  Under XP, the touchpad software adds the ability
to scroll vertically and horizontally using the edges of the touchpad.  The software
will not install under Vista.  One other note: when installing the video driver
I was asked whether to install it even though the currently installed version was
newer.  If you encounter the same thing yourself you'll notice the version number
of the one from Acer is a higher revision.  I continued with the installation. 
</p>
        <p>
All that's left to do now is download several hundred megabytes of updates.
</p>
        <img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=912f5893-f234-4b74-a711-98ffb53b9dd8" />
      </body>
      <title>Vista On The Acer Aspire One</title>
      <guid isPermaLink="false">http://thirstycrow.net/blog/PermaLink,guid,912f5893-f234-4b74-a711-98ffb53b9dd8.aspx</guid>
      <link>http://thirstycrow.net/blog/2008/12/22/VistaOnTheAcerAspireOne.aspx</link>
      <pubDate>Mon, 22 Dec 2008 18:27:35 GMT</pubDate>
      <description>&lt;p&gt;
I received my Acer Aspire One (AAO) this weekend.&amp;nbsp; As I mentioned before, the
first order of business was to reload the operating system.&amp;nbsp; Loading the OS on
this class of device - netbook - requires the use of a USB flash drive if you don't
have access to an external CD drive.&amp;nbsp; You can find a tool called &lt;a href="http://www.boot-land.net/forums/?showtopic=4900"&gt;USB_MultiBoot_10&lt;/a&gt; at &lt;a href="http://www.boot-land.net/"&gt;boot-land.net&lt;/a&gt;.&amp;nbsp;
That is the tool referenced in &lt;a href="http://www.youtube.com/watch?v=2Vt_8p0VllY"&gt;the
how-to video&lt;/a&gt; I found on YouTube.&amp;nbsp; Even though I wanted to use Vista, I ran
through the process as shown in the video for an XP install to familiarize myself
with the procedure.&amp;nbsp; I made it through without any problems using a 4GB Corsair
Flash Voyager.&amp;nbsp; Next I moved to Vista.&amp;nbsp; The USB Mulitboot tool allows this
as well.&amp;nbsp; The setup is not as straightforward as XP steps without a video as
a guide, but I found &lt;a href="http://www.msfn.org/board/lofiversion/index.php/t122551.html"&gt;this
post&lt;/a&gt; that made the process clearer.&amp;nbsp; The steps are laid out in the Aug 30
2008, 11:54 PM post by user 'wimb'.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Drivers&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
This table shows the drivers you'll need for the AAO:
&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" width="477" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="132"&gt;
&lt;strong&gt;Driver&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="133"&gt;
&lt;strong&gt;Vista Version&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="210"&gt;
&lt;strong&gt;Worked On Vista&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="132"&gt;
Sound&lt;/td&gt;
&lt;td valign="top" width="133"&gt;
Yes&lt;/td&gt;
&lt;td valign="top" width="210"&gt;
Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="132"&gt;
Card Reader&lt;/td&gt;
&lt;td valign="top" width="133"&gt;
No&lt;/td&gt;
&lt;td valign="top" width="210"&gt;
Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="132"&gt;
Web Cam&lt;/td&gt;
&lt;td valign="top" width="133"&gt;
No&lt;/td&gt;
&lt;td valign="top" width="210"&gt;
Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="132"&gt;
Chipset&lt;/td&gt;
&lt;td valign="top" width="133"&gt;
Yes&lt;/td&gt;
&lt;td valign="top" width="210"&gt;
Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="132"&gt;
NIC&lt;/td&gt;
&lt;td valign="top" width="133"&gt;
No&lt;/td&gt;
&lt;td valign="top" width="210"&gt;
Alternate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="132"&gt;
Touchpad&lt;/td&gt;
&lt;td valign="top" width="133"&gt;
No&lt;/td&gt;
&lt;td valign="top" width="210"&gt;
Not extended properties&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="132"&gt;
Video&lt;/td&gt;
&lt;td valign="top" width="133"&gt;
No&lt;/td&gt;
&lt;td valign="top" width="210"&gt;
Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="132"&gt;
WiFi&lt;/td&gt;
&lt;td valign="top" width="133"&gt;
No&lt;/td&gt;
&lt;td valign="top" width="210"&gt;
Alternate&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
All the XP drivers can be &lt;a href="http://acer.com/support/download.htm"&gt;downloaded
from the support section&lt;/a&gt; of the Acer site.&amp;nbsp; As shown above, the Vista drivers
are included for the sound card and chipset.&amp;nbsp; The others worked anyway except
for the network, both NIC and WiFi.&amp;nbsp; I found &lt;a href="http://forum.notebookreview.com/showthread.php?t=314203&amp;amp;page=2"&gt;this
post&lt;/a&gt; that showed where the Atheros WiFi drivers could be found.&amp;nbsp; The downloads
were slow, but worked.&amp;nbsp; As the post says, after installing the drivers in the
"Install Vista 6120 1009.zip" use the other download files to update the last errant
device in the device manager.&amp;nbsp; Under XP, the touchpad software adds the ability
to scroll vertically and horizontally using the edges of the touchpad.&amp;nbsp; The software
will not install under Vista.&amp;nbsp; One other note: when installing the video driver
I was asked whether to install it even though the currently installed version was
newer.&amp;nbsp; If you encounter the same thing yourself you'll notice the version number
of the one from Acer is a higher revision.&amp;nbsp; I continued with the installation. 
&lt;/p&gt;
&lt;p&gt;
All that's left to do now is download several hundred megabytes of updates.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=912f5893-f234-4b74-a711-98ffb53b9dd8" /&gt;</description>
      <comments>http://thirstycrow.net/blog/CommentView,guid,912f5893-f234-4b74-a711-98ffb53b9dd8.aspx</comments>
      <category>Equipment</category>
      <category>Netbook</category>
    </item>
    <item>
      <trackback:ping>http://thirstycrow.net/blog/Trackback.aspx?guid=bf19ffd1-2ace-405c-af63-2a54e756a472</trackback:ping>
      <pingback:server>http://thirstycrow.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://thirstycrow.net/blog/PermaLink,guid,bf19ffd1-2ace-405c-af63-2a54e756a472.aspx</pingback:target>
      <dc:creator>Will</dc:creator>
      <wfw:comment>http://thirstycrow.net/blog/CommentView,guid,bf19ffd1-2ace-405c-af63-2a54e756a472.aspx</wfw:comment>
      <wfw:commentRss>http://thirstycrow.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=bf19ffd1-2ace-405c-af63-2a54e756a472</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Not that I post all that often, but I've noticed my "<a href="http://thirstycrow.net/blog/CategoryView,category,OffTopic.aspx" target="_blank">Off
Topic</a>" post are adding up.  Rather than continue to post non-technical entries
in this blog I've created another one where I can write about the other things in
which I'm interested.  
</p>
        <p style="text-align: center">
          <a href="http://thirstycrow.net/offtopic/" target="_blank">Behold the glory of the
Off Topic blog</a>.
</p>
        <img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=bf19ffd1-2ace-405c-af63-2a54e756a472" />
      </body>
      <title>New Off Topic Blog</title>
      <guid isPermaLink="false">http://thirstycrow.net/blog/PermaLink,guid,bf19ffd1-2ace-405c-af63-2a54e756a472.aspx</guid>
      <link>http://thirstycrow.net/blog/2008/12/19/NewOffTopicBlog.aspx</link>
      <pubDate>Fri, 19 Dec 2008 20:01:50 GMT</pubDate>
      <description>&lt;p&gt;
Not that I post all that often, but I've noticed my "&lt;a href="http://thirstycrow.net/blog/CategoryView,category,OffTopic.aspx" target="_blank"&gt;Off
Topic&lt;/a&gt;" post are adding up.&amp;nbsp; Rather than continue to post non-technical entries
in this blog I've created another one where I can write about the other things in
which I'm interested.&amp;nbsp; 
&lt;/p&gt;
&lt;p style="text-align: center"&gt;
&lt;a href="http://thirstycrow.net/offtopic/" target="_blank"&gt;Behold the glory of the
Off Topic blog&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=bf19ffd1-2ace-405c-af63-2a54e756a472" /&gt;</description>
      <comments>http://thirstycrow.net/blog/CommentView,guid,bf19ffd1-2ace-405c-af63-2a54e756a472.aspx</comments>
      <category>Off Topic</category>
    </item>
    <item>
      <trackback:ping>http://thirstycrow.net/blog/Trackback.aspx?guid=379c3be4-3d21-4821-889d-eb334033dbb0</trackback:ping>
      <pingback:server>http://thirstycrow.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://thirstycrow.net/blog/PermaLink,guid,379c3be4-3d21-4821-889d-eb334033dbb0.aspx</pingback:target>
      <dc:creator>Will</dc:creator>
      <wfw:comment>http://thirstycrow.net/blog/CommentView,guid,379c3be4-3d21-4821-889d-eb334033dbb0.aspx</wfw:comment>
      <wfw:commentRss>http://thirstycrow.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=379c3be4-3d21-4821-889d-eb334033dbb0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I've been wanting a netbook for use around the house to browse the web and watch television. 
My wife and I made the switch to HD this past summer.  Since then we only use
the television to watch movies because as bad as standard def looks on HD, what comes
out of the VCR is worse.  For the few programs that we do watch - Sarah Conner
Chronicles, Life, The Office, and eventually Lost and Battlestar Galactica - we catch
them online via <a href="http://hulu.com/" target="_blank">Hulu.com</a>.  For
that and <a href="http://netflix.com/" target="_blank">Netflix</a> a netbook looks
to be just the ticket.  Also it will be a lot easier to take to China than a
full size machine.
</p>
        <p>
I had been pretty wound up about the Dell Mini during the late summer.  I've
had a good experience with Dell for all of my work machines.  However, when I
saw the specifications and price points for the Mini, not to mention what they did
with the keyboard layout I turned elsewhere.  After more reading and comparisons
I settled on an Acer Aspire One.  Yesterday I ordered the XP, 1GB RAM, 160GB
drive, 6-cell battery version from <a href="http://buy.com/" target="_blank">Buy.com</a>. 
I even managed to hunt down a <a href="http://www.dealigg.com/story-Buy-com-Coupons-15-off-200-10-off-175-5-off-50-more-1" target="_blank">5%
discount coupon</a>.
</p>
        <p>
The first thing I do with any computer out of the box is reload the OS.  This
of course makes sure you've rid of any bloat-ware.  The Aspire One doesn't have
a CD drive so the OS install requires the creation of a bootable USB stick. 
I found a <a href="http://www.youtube.com/watch?v=2Vt_8p0VllY" target="_blank">video
on YouTube</a> that does a good job of guiding you through all of the steps. 
I'm going to prepare the USB stick while I'm waiting for delivery of the machine. 
Drivers for the Aspire One can be found on the <a href="http://acer.com/support/download.htm" target="_blank">support
section</a> of the <a href="http://acer.com/" target="_blank">Acer site</a>. 
I'm also going to give <a href="http://www.nliteos.com/" target="_blank">nLite</a> a
try.  nLite allows you to create customized installations of Windows.  According
to the documentation you can integrate service packs and hotfixes and prevent the
installation of unwanted components as well as integrate drivers.  I've never
used it before, but this seems like a good opportunity to give it a try.
</p>
        <img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=379c3be4-3d21-4821-889d-eb334033dbb0" />
      </body>
      <title>Acer Aspire One - Preflight Check</title>
      <guid isPermaLink="false">http://thirstycrow.net/blog/PermaLink,guid,379c3be4-3d21-4821-889d-eb334033dbb0.aspx</guid>
      <link>http://thirstycrow.net/blog/2008/12/18/AcerAspireOnePreflightCheck.aspx</link>
      <pubDate>Thu, 18 Dec 2008 21:29:27 GMT</pubDate>
      <description>&lt;p&gt;
I've been wanting a netbook for use around the house to browse the web and watch television.&amp;nbsp;
My wife and I made the switch to HD this past summer.&amp;nbsp; Since then we only use
the television to watch movies because as bad as standard def looks on HD, what comes
out of the VCR is worse.&amp;nbsp; For the few programs that we do watch - Sarah Conner
Chronicles, Life, The Office, and eventually Lost and Battlestar Galactica - we catch
them online via &lt;a href="http://hulu.com/" target="_blank"&gt;Hulu.com&lt;/a&gt;.&amp;nbsp; For
that and &lt;a href="http://netflix.com/" target="_blank"&gt;Netflix&lt;/a&gt; a netbook looks
to be just the ticket.&amp;nbsp; Also it will be a lot easier to take to China than a
full size machine.
&lt;/p&gt;
&lt;p&gt;
I had been pretty wound up about the Dell Mini during the late summer.&amp;nbsp; I've
had a good experience with Dell for all of my work machines.&amp;nbsp; However, when I
saw the specifications and price points for the Mini, not to mention what they did
with the keyboard layout I turned elsewhere.&amp;nbsp; After more reading and comparisons
I settled on an Acer Aspire One.&amp;nbsp; Yesterday I ordered the XP, 1GB RAM, 160GB
drive, 6-cell battery version from &lt;a href="http://buy.com/" target="_blank"&gt;Buy.com&lt;/a&gt;.&amp;nbsp;
I even managed to hunt down a &lt;a href="http://www.dealigg.com/story-Buy-com-Coupons-15-off-200-10-off-175-5-off-50-more-1" target="_blank"&gt;5%
discount coupon&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
The first thing I do with any computer out of the box is reload the OS.&amp;nbsp; This
of course makes sure you've rid of any bloat-ware.&amp;nbsp; The Aspire One doesn't have
a CD drive so the OS install requires the creation of a bootable USB stick.&amp;nbsp;
I found a &lt;a href="http://www.youtube.com/watch?v=2Vt_8p0VllY" target="_blank"&gt;video
on YouTube&lt;/a&gt; that does a good job of guiding you through all of the steps.&amp;nbsp;
I'm going to prepare the USB stick while I'm waiting for delivery of the machine.&amp;nbsp;
Drivers for the Aspire One can be found on the &lt;a href="http://acer.com/support/download.htm" target="_blank"&gt;support
section&lt;/a&gt; of the &lt;a href="http://acer.com/" target="_blank"&gt;Acer site&lt;/a&gt;.&amp;nbsp;
I'm also going to give &lt;a href="http://www.nliteos.com/" target="_blank"&gt;nLite&lt;/a&gt; a
try.&amp;nbsp; nLite allows you to create customized installations of Windows.&amp;nbsp; According
to the documentation you can integrate service packs and hotfixes and prevent the
installation of unwanted components as well as integrate drivers.&amp;nbsp; I've never
used it before, but this seems like a good opportunity to give it a try.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=379c3be4-3d21-4821-889d-eb334033dbb0" /&gt;</description>
      <comments>http://thirstycrow.net/blog/CommentView,guid,379c3be4-3d21-4821-889d-eb334033dbb0.aspx</comments>
      <category>Equipment</category>
      <category>Netbook</category>
    </item>
    <item>
      <trackback:ping>http://thirstycrow.net/blog/Trackback.aspx?guid=efe85dca-2c21-425e-99f1-676ba6d96e33</trackback:ping>
      <pingback:server>http://thirstycrow.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://thirstycrow.net/blog/PermaLink,guid,efe85dca-2c21-425e-99f1-676ba6d96e33.aspx</pingback:target>
      <dc:creator>Will</dc:creator>
      <wfw:comment>http://thirstycrow.net/blog/CommentView,guid,efe85dca-2c21-425e-99f1-676ba6d96e33.aspx</wfw:comment>
      <wfw:commentRss>http://thirstycrow.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=efe85dca-2c21-425e-99f1-676ba6d96e33</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We're headed back to China for one last ride on the Adoption Express.  We adopted
our first daughter in 2003 and our second daughter in 2005.  Both were nine months
old when they joined our family.  In 2006 we added a son who was six years old. 
Now we are about halfway through the home study to adopt a 5 year old boy.  According
to the information we've received about him, today is his birthday.  We wish
it could be spent here with us, but the next one will be.  Until then, shengri
kuaile, erzi - happy birthday, son.  
</p>
        <img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=efe85dca-2c21-425e-99f1-676ba6d96e33" />
      </body>
      <title>Horse, Monkey, Dragon...Sheep</title>
      <guid isPermaLink="false">http://thirstycrow.net/blog/PermaLink,guid,efe85dca-2c21-425e-99f1-676ba6d96e33.aspx</guid>
      <link>http://thirstycrow.net/blog/2008/12/09/HorseMonkeyDragonSheep.aspx</link>
      <pubDate>Tue, 09 Dec 2008 14:38:54 GMT</pubDate>
      <description>&lt;p&gt;
We're headed back to China for one last ride on the Adoption Express.&amp;nbsp; We adopted
our first daughter in 2003 and our second daughter in 2005.&amp;nbsp; Both were nine months
old when they joined our family.&amp;nbsp; In 2006 we added a son who was six years old.&amp;nbsp;
Now we are about halfway through the home study to adopt a 5 year old boy.&amp;nbsp; According
to the information we've received about him, today is his birthday.&amp;nbsp; We wish
it could be spent here with us, but the next one will be.&amp;nbsp; Until then, shengri
kuaile, erzi - happy birthday, son.&amp;nbsp; 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=efe85dca-2c21-425e-99f1-676ba6d96e33" /&gt;</description>
      <comments>http://thirstycrow.net/blog/CommentView,guid,efe85dca-2c21-425e-99f1-676ba6d96e33.aspx</comments>
      <category>Adoption</category>
      <category>Off Topic</category>
    </item>
    <item>
      <trackback:ping>http://thirstycrow.net/blog/Trackback.aspx?guid=114fe8a0-f570-4ab1-a14d-50ab195828dd</trackback:ping>
      <pingback:server>http://thirstycrow.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://thirstycrow.net/blog/PermaLink,guid,114fe8a0-f570-4ab1-a14d-50ab195828dd.aspx</pingback:target>
      <dc:creator>Will</dc:creator>
      <wfw:comment>http://thirstycrow.net/blog/CommentView,guid,114fe8a0-f570-4ab1-a14d-50ab195828dd.aspx</wfw:comment>
      <wfw:commentRss>http://thirstycrow.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=114fe8a0-f570-4ab1-a14d-50ab195828dd</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I came up with this to get the time portion of a datetime data type formatted in 12
hour time with the AM/PM on the end:
</p>
        <div class="divCodeBlock">SELECT 
<br />
SUBSTRING(CONVERT(CHAR(26), GETDATE(), 9), 12, 6) + ' ' + 
<br />
SUBSTRING(CONVERT(CHAR(26), GETDATE(), 9), 25, 2) somedate
</div>
        <p>
Example outputs look like 10:30 AM or 4:10 PM.
</p>
        <p>
I'm not sure if this is the most efficient way, but it seems to work whether the time
has single or two digit hours both before and after noon.  Replace the GETDATE()
function, which I've stuck in for demonstration purposes, with your datetime column
reference.  If there is a better way to do this please post a comment.
</p>
        <img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=114fe8a0-f570-4ab1-a14d-50ab195828dd" />
      </body>
      <title>SQL 12 Hour Formatted Time From A DateTime</title>
      <guid isPermaLink="false">http://thirstycrow.net/blog/PermaLink,guid,114fe8a0-f570-4ab1-a14d-50ab195828dd.aspx</guid>
      <link>http://thirstycrow.net/blog/2008/12/01/SQL12HourFormattedTimeFromADateTime.aspx</link>
      <pubDate>Mon, 01 Dec 2008 21:21:11 GMT</pubDate>
      <description>&lt;p&gt;
I came up with this to get the time portion of a datetime data type formatted in 12
hour time with the AM/PM on the end:
&lt;/p&gt;
&lt;div class="divCodeBlock"&gt;SELECT 
&lt;br&gt;
SUBSTRING(CONVERT(CHAR(26), GETDATE(), 9), 12, 6) + ' ' + 
&lt;br&gt;
SUBSTRING(CONVERT(CHAR(26), GETDATE(), 9), 25, 2) somedate
&lt;/div&gt;
&lt;p&gt;
Example outputs look like 10:30 AM or 4:10 PM.
&lt;/p&gt;
&lt;p&gt;
I'm not sure if this is the most efficient way, but it seems to work whether the time
has single or two digit hours both before and after noon.&amp;nbsp; Replace the GETDATE()
function, which I've stuck in for demonstration purposes, with your datetime column
reference.&amp;nbsp; If there is a better way to do this please post a comment.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=114fe8a0-f570-4ab1-a14d-50ab195828dd" /&gt;</description>
      <comments>http://thirstycrow.net/blog/CommentView,guid,114fe8a0-f570-4ab1-a14d-50ab195828dd.aspx</comments>
      <category>SQL</category>
    </item>
    <item>
      <trackback:ping>http://thirstycrow.net/blog/Trackback.aspx?guid=8c209136-8f2a-4876-ab2c-db03149141d8</trackback:ping>
      <pingback:server>http://thirstycrow.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://thirstycrow.net/blog/PermaLink,guid,8c209136-8f2a-4876-ab2c-db03149141d8.aspx</pingback:target>
      <dc:creator>Will</dc:creator>
      <wfw:comment>http://thirstycrow.net/blog/CommentView,guid,8c209136-8f2a-4876-ab2c-db03149141d8.aspx</wfw:comment>
      <wfw:commentRss>http://thirstycrow.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=8c209136-8f2a-4876-ab2c-db03149141d8</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I renewed my hosting account a few weeks ago.  I'm with <a href="http://www.WebHost4Life.com/default.asp?refid=argiope" target="_blank">WebHost4Life</a>. 
They are a three nines host.  Three nines means 99.9% uptime as opposed to a
five nines (99.999%) uptime.  Three nines is good enough for me and about all
I can afford.  Every year at this time I try to think of a way to get more for
less with the ideal being something for nothing.  This year I went so far as
to poke around for free hosts.  I was surprised to find several.  One called <a href="http://www.heliohost.org/" target="_blank">heliohost</a> goes
so far as to offer ASP.Net hosting via Mono.  Free is free so I signed up, but
literally as I was logging into the new account for the first time the site died and
was gone for a couple of weeks.  Weird.  I found another one called <a href="http://000webhost.com" target="_blank">000webhost</a> that
offers PHP with MySQL.  The site appears to be professional and well maintained. 
In their information they say their cost are offset by donations and other for-fee
services.  I've got another unused domain name that I bought when I thought I
was going to write the successor to <a href="http://twitter.com/thirstycrow" target="_blank">Twitter</a>. 
(Don't act like you haven't had the same thought yourself.)  I could set up a
WordPress based blog their that I could neglect just like this one, but figure the
height of neglect is to not bother setting it up.  If something is worth neglecting,
then it's worth neglecting completely.  
</p>
        <p>
Another area of recurring costs (or at least potentially recurring costs) is <a href="http://happyfish.info/" target="_blank">HappyFish</a>. 
In December I will have put in four years on my little pet project.  I'm guessing
I've spent upwards of 1500 hours of work on it either coding, debugging, rewriting,
or learning.  As I think I've mentioned before, I've gotten much more out of
it than it cost me.  The only thing I've learned from working on HappyFish that
I have not repeatedly used in my ASP.Net work is multithreading, and I even used that
once to handle a long-running action in a web app.  Up to this point all the
costs have been modest - annual hosting fees, domain renewals, and my time.  
</p>
        <p>
In my MVC post I explained the new data synchronization features I want to add to
HappyFish.  Several choices of data stores are available.  SQL Server, Microsoft's
SQL Data Services (formerly SQL Server Data Services), and Amazon's Simple DB are
the ones I've investigated so far.  The problem is that they all cost money. 
I can of course charge fees for the service or offset costs with advertising, but
neither of those options seems too appealing.  Once you start charging for something
you have a responsibility to deliver a certain level of service - those nines I mentioned
earlier.  Plus you've got to manage all those accounts and billing and all that
comes with it.  Still, after learning a few new tricks at DevConnections I thought
I could at least pull it all off without the hassle of charging for the accounts on
a limited introductory basis to test the waters.  Synchronization Services with
SQL Server via a WCF SOA layer appears to offer what I'm looking for.  But after
beating my head against the wall, or perhaps ceiling of my shared hosting plan, it
looks like it cannot be done.  What I want to do costs more money (read: dedicated
server).  So at this point I'm stuck.  If anyone has a racked server with
Windows 2003 and SQL Server installed just laying around let me know.
</p>
        <img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=8c209136-8f2a-4876-ab2c-db03149141d8" />
      </body>
      <title>Recurring Costs</title>
      <guid isPermaLink="false">http://thirstycrow.net/blog/PermaLink,guid,8c209136-8f2a-4876-ab2c-db03149141d8.aspx</guid>
      <link>http://thirstycrow.net/blog/2008/11/24/RecurringCosts.aspx</link>
      <pubDate>Mon, 24 Nov 2008 21:56:59 GMT</pubDate>
      <description>&lt;p&gt;
I renewed my hosting account a few weeks ago.&amp;nbsp; I'm with &lt;a href="http://www.WebHost4Life.com/default.asp?refid=argiope" target="_blank"&gt;WebHost4Life&lt;/a&gt;.&amp;nbsp;
They are a three nines host.&amp;nbsp; Three nines means 99.9% uptime as opposed to a
five nines (99.999%) uptime.&amp;nbsp; Three nines is good enough for me and about all
I can afford.&amp;nbsp; Every year at this time I try to think of a way to get more for
less with the ideal being something for nothing.&amp;nbsp; This year I went so far as
to poke around for free hosts.&amp;nbsp; I was surprised to find several.&amp;nbsp; One called &lt;a href="http://www.heliohost.org/" target="_blank"&gt;heliohost&lt;/a&gt; goes
so far as to offer ASP.Net hosting via Mono.&amp;nbsp; Free is free so I signed up, but
literally as I was logging into the new account for the first time the site died and
was gone for a couple of weeks.&amp;nbsp; Weird.&amp;nbsp; I found another one called &lt;a href="http://000webhost.com" target="_blank"&gt;000webhost&lt;/a&gt; that
offers PHP with MySQL.&amp;nbsp; The site appears to be professional and well maintained.&amp;nbsp;
In their information they say their cost are offset by donations and other for-fee
services.&amp;nbsp; I've got another unused domain name that I bought when I thought I
was going to write the successor to &lt;a href="http://twitter.com/thirstycrow" target="_blank"&gt;Twitter&lt;/a&gt;.&amp;nbsp;
(Don't act like you haven't had the same thought yourself.)&amp;nbsp; I could set up a
WordPress based blog their that I could neglect just like this one, but figure the
height of neglect is to not bother setting it up.&amp;nbsp; If something is worth neglecting,
then it's worth neglecting completely.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Another area of recurring costs (or at least potentially recurring costs) is &lt;a href="http://happyfish.info/" target="_blank"&gt;HappyFish&lt;/a&gt;.&amp;nbsp;
In December I will have put in four years on my little pet project.&amp;nbsp; I'm guessing
I've spent upwards of 1500 hours of work on it either coding, debugging, rewriting,
or learning.&amp;nbsp; As I think I've mentioned before, I've gotten much more out of
it than it cost me.&amp;nbsp; The only thing I've learned from working on HappyFish that
I have not repeatedly used in my ASP.Net work is multithreading, and I even used that
once to handle a long-running action in a web app.&amp;nbsp; Up to this point all the
costs have been modest - annual hosting fees, domain renewals, and my time.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
In my MVC post I explained the new data synchronization features I want to add to
HappyFish.&amp;nbsp; Several choices of data stores are available.&amp;nbsp; SQL Server, Microsoft's
SQL Data Services (formerly SQL Server Data Services), and Amazon's Simple DB are
the ones I've investigated so far.&amp;nbsp; The problem is that they all cost money.&amp;nbsp;
I can of course charge fees for the service or offset costs with advertising, but
neither of those options seems too appealing.&amp;nbsp; Once you start charging for something
you have a responsibility to deliver a certain level of service - those nines I mentioned
earlier.&amp;nbsp; Plus you've got to manage all those accounts and billing and all that
comes with it.&amp;nbsp; Still, after learning a few new tricks at DevConnections I thought
I could at least pull it all off without the hassle of charging for the accounts on
a limited introductory basis to test the waters.&amp;nbsp; Synchronization Services with
SQL Server via a WCF SOA layer appears to offer what I'm looking for.&amp;nbsp; But after
beating my head against the wall, or perhaps ceiling of my shared hosting plan, it
looks like it cannot be done.&amp;nbsp; What I want to do costs more money (read: dedicated
server).&amp;nbsp; So at this point I'm stuck.&amp;nbsp; If anyone has a racked server with
Windows 2003 and SQL Server installed just laying around let me know.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=8c209136-8f2a-4876-ab2c-db03149141d8" /&gt;</description>
      <comments>http://thirstycrow.net/blog/CommentView,guid,8c209136-8f2a-4876-ab2c-db03149141d8.aspx</comments>
      <category>HappyFish</category>
    </item>
    <item>
      <trackback:ping>http://thirstycrow.net/blog/Trackback.aspx?guid=38023edf-d725-49d6-9d51-8c9129555a7a</trackback:ping>
      <pingback:server>http://thirstycrow.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://thirstycrow.net/blog/PermaLink,guid,38023edf-d725-49d6-9d51-8c9129555a7a.aspx</pingback:target>
      <dc:creator>Will</dc:creator>
      <wfw:comment>http://thirstycrow.net/blog/CommentView,guid,38023edf-d725-49d6-9d51-8c9129555a7a.aspx</wfw:comment>
      <wfw:commentRss>http://thirstycrow.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=38023edf-d725-49d6-9d51-8c9129555a7a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img style="border-right: 0px; border-top: 0px; margin: 0px 10px 5px 0px; border-left: 0px; border-bottom: 0px" height="221" alt="longhall" src="http://thirstycrow.net/blog/content/postimages/YouknowyoureinVegaswhen_126EA/longhall.jpg" width="200" align="left" border="0" />
        </p>
        <p>
You know you're in Vegas when you pass a guy getting onto the elevator who is carrying
an open bottle of beer...on your way to breakfast.
</p>
        <p>
I made it to DevConnections.  I had a flight delay that lengthened my layover
in Atlanta yesterday by a couple of hours.  The Mandalay Bay is an impressive
hotel.  To give you a sense of scale I took the above image standing by the elevators. 
That black dot is a person standing not quite at the far end of the hall.  There
are three identical halls radiating out from the central room in the foreground. 
My room is bigger than my living room at home, and the bathroom is larger than either
of the kids' rooms.  It's a big place.
</p>
        <p>
I started the day with a run north on the Las Vegas strip.  That took me past
all of the famous casinos including The Mirage, The Excalibur (think Cable Guy with
Jim Carey),  The Bellagio (think Ocean's Eleven), the MGM Grand, and The New
York New York among others.  The New York New York has a roller coaster on top
that I think Gil in C.S.I. rides in a few of the episodes.  I covered a about
six and a half miles.  Back at the hotel I cleaned up and grabbed a bite before
heading to the SilverLight pre-conference session given by <a href="http://weblogs.asp.net/dwahlin/" target="_blank">Dan
Wahlin</a>.  It was a good session and I learned a lot.  Wahlin clearly
knows his stuff.  As I said before, I've played around with SilverLight some,
but not enough to have a good coherent picture.  I feel like I've got one now. 
So far so good.  The main sessions start tomorrow.  
</p>
        <img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=38023edf-d725-49d6-9d51-8c9129555a7a" />
      </body>
      <title>You know you're in Vegas when...</title>
      <guid isPermaLink="false">http://thirstycrow.net/blog/PermaLink,guid,38023edf-d725-49d6-9d51-8c9129555a7a.aspx</guid>
      <link>http://thirstycrow.net/blog/2008/11/11/YouKnowYoureInVegasWhen.aspx</link>
      <pubDate>Tue, 11 Nov 2008 02:26:54 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 5px 0px; border-left: 0px; border-bottom: 0px" height="221" alt="longhall" src="http://thirstycrow.net/blog/content/postimages/YouknowyoureinVegaswhen_126EA/longhall.jpg" width="200" align="left" border="0"&gt; 
&lt;/p&gt;
&lt;p&gt;
You know you're in Vegas when you pass a guy getting onto the elevator who is carrying
an open bottle of beer...on your way to breakfast.
&lt;/p&gt;
&lt;p&gt;
I made it to DevConnections.&amp;nbsp; I had a flight delay that lengthened my layover
in Atlanta yesterday by a couple of hours.&amp;nbsp; The Mandalay Bay is an impressive
hotel.&amp;nbsp; To give you a sense of scale I took the above image standing by the elevators.&amp;nbsp;
That black dot is a person standing not quite at the far end of the hall.&amp;nbsp; There
are three identical halls radiating out from the central room in the foreground.&amp;nbsp;
My room is bigger than my living room at home, and the bathroom is larger than either
of the kids' rooms.&amp;nbsp; It's a big place.
&lt;/p&gt;
&lt;p&gt;
I started the day with a run north on the Las Vegas strip.&amp;nbsp; That took me past
all of the famous casinos including The Mirage, The Excalibur (think Cable Guy with
Jim Carey),&amp;nbsp; The Bellagio (think Ocean's Eleven), the MGM Grand, and The New
York New York among others.&amp;nbsp; The New York New York has a roller coaster on top
that I think Gil in C.S.I. rides in a few of the episodes.&amp;nbsp; I covered a about
six and a half miles.&amp;nbsp; Back at the hotel I cleaned up and grabbed a bite before
heading to the SilverLight pre-conference session given by &lt;a href="http://weblogs.asp.net/dwahlin/" target="_blank"&gt;Dan
Wahlin&lt;/a&gt;.&amp;nbsp; It was a good session and I learned a lot.&amp;nbsp; Wahlin clearly
knows his stuff.&amp;nbsp; As I said before, I've played around with SilverLight some,
but not enough to have a good coherent picture.&amp;nbsp; I feel like I've got one now.&amp;nbsp;
So far so good.&amp;nbsp; The main sessions start tomorrow.&amp;nbsp; 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=38023edf-d725-49d6-9d51-8c9129555a7a" /&gt;</description>
      <comments>http://thirstycrow.net/blog/CommentView,guid,38023edf-d725-49d6-9d51-8c9129555a7a.aspx</comments>
      <category>DevConnections 2008</category>
    </item>
    <item>
      <trackback:ping>http://thirstycrow.net/blog/Trackback.aspx?guid=13fbe9cb-cc07-4c97-9e0f-755488b77be9</trackback:ping>
      <pingback:server>http://thirstycrow.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://thirstycrow.net/blog/PermaLink,guid,13fbe9cb-cc07-4c97-9e0f-755488b77be9.aspx</pingback:target>
      <dc:creator>Will</dc:creator>
      <wfw:comment>http://thirstycrow.net/blog/CommentView,guid,13fbe9cb-cc07-4c97-9e0f-755488b77be9.aspx</wfw:comment>
      <wfw:commentRss>http://thirstycrow.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=13fbe9cb-cc07-4c97-9e0f-755488b77be9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px" height="240" alt="mandalaysatellite" src="http://thirstycrow.net/blog/content/postimages/DevConnectionsFall2008_D9FC/mandalaysatellite.jpg" width="214" align="left" border="0" /> I'm
headed to the <a href="http://www.devconnections.com/" target="_blank">Fall 2008 DevConnections</a> next
week.  I attended DevConnections in the Spring of 2005 in Orlando and learned
a lot.  I'll be spending most of my time on the ASP.NET track, although there
are a few Visual Studio and SQL Server sessions I'm going to catch.  As usual,
the schedule has a couple of sessions where I'd like to be two or three places at
once, but I'm not complaining.  I'm also going to take in the Silverlight 2 pre-conference
workshop.  I'm looking forward to a comprehensive primer.  I've played around
some with Silverlight, but my approach has been so haphazard that I'm basically still
on square one.  I'll be blogging and <a href="http://twitter.com/thirstycrow" target="_blank">Twittering</a> along
the way with all the standard, cliche pictures of the sites of Vegas.
</p>
        <br style="clear: both" />
        <br />
        <img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=13fbe9cb-cc07-4c97-9e0f-755488b77be9" />
      </body>
      <title>DevConnections Fall 2008</title>
      <guid isPermaLink="false">http://thirstycrow.net/blog/PermaLink,guid,13fbe9cb-cc07-4c97-9e0f-755488b77be9.aspx</guid>
      <link>http://thirstycrow.net/blog/2008/11/05/DevConnectionsFall2008.aspx</link>
      <pubDate>Wed, 05 Nov 2008 21:03:58 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px" height="240" alt="mandalaysatellite" src="http://thirstycrow.net/blog/content/postimages/DevConnectionsFall2008_D9FC/mandalaysatellite.jpg" width="214" align="left" border="0"&gt; I'm
headed to the &lt;a href="http://www.devconnections.com/" target="_blank"&gt;Fall 2008 DevConnections&lt;/a&gt; next
week.&amp;nbsp; I attended DevConnections in the Spring of 2005 in Orlando and learned
a lot.&amp;nbsp; I'll be spending most of my time on the ASP.NET track, although there
are a few Visual Studio and SQL Server sessions I'm going to catch.&amp;nbsp; As usual,
the schedule has a couple of sessions where I'd like to be two or three places at
once, but I'm not complaining.&amp;nbsp; I'm also going to take in the Silverlight 2 pre-conference
workshop.&amp;nbsp; I'm looking forward to a comprehensive primer.&amp;nbsp; I've played around
some with Silverlight, but my approach has been so haphazard that I'm basically still
on square one.&amp;nbsp; I'll be blogging and &lt;a href="http://twitter.com/thirstycrow" target="_blank"&gt;Twittering&lt;/a&gt; along
the way with all the standard, cliche pictures of the sites of Vegas.
&lt;/p&gt;
&lt;br style="clear: both"&gt;
&lt;br /&gt;
&lt;img width="0" height="0" src="http://thirstycrow.net/blog/aggbug.ashx?id=13fbe9cb-cc07-4c97-9e0f-755488b77be9" /&gt;</description>
      <comments>http://thirstycrow.net/blog/CommentView,guid,13fbe9cb-cc07-4c97-9e0f-755488b77be9.aspx</comments>
      <category>DevConnections 2008</category>
    </item>
  </channel>
</rss>