<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for Sean's Stuff</title>
	<atom:link href="http://stuff.seans.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://stuff.seans.com</link>
	<description>Learning new software development technologies out loud</description>
	<lastBuildDate>Sat, 11 May 2013 18:53:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>Comment on How to Reboot Machine While Connected Through Remote Desktop by Scott</title>
		<link>http://stuff.seans.com/2009/01/17/how-to-reboot-machine-while-connected-through-remote-desktop/#comment-2081</link>
		<dc:creator><![CDATA[Scott]]></dc:creator>
		<pubDate>Sat, 11 May 2013 18:53:43 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=600#comment-2081</guid>
		<description><![CDATA[Better to set up one actual TS exposed to the outside world (using a non-standard port and hardened against intrusion), remote into that, then hop into the destination using another RDP session.  That way not all your hosts have RDP ports open to the world.]]></description>
		<content:encoded><![CDATA[<p>Better to set up one actual TS exposed to the outside world (using a non-standard port and hardened against intrusion), remote into that, then hop into the destination using another RDP session.  That way not all your hosts have RDP ports open to the world.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to Reboot Machine While Connected Through Remote Desktop by Scott</title>
		<link>http://stuff.seans.com/2009/01/17/how-to-reboot-machine-while-connected-through-remote-desktop/#comment-2080</link>
		<dc:creator><![CDATA[Scott]]></dc:creator>
		<pubDate>Sat, 11 May 2013 18:48:44 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=600#comment-2080</guid>
		<description><![CDATA[Depending on your settings when you launch MSTSC, ALT-F4 could work against the local system and just close the RDP session.  By default, ALT-F4 is &#039;old school&#039; (Win3 or older) for &#039;close the current window&#039;.  Gamers throw this one out there when someone is being noobish.  People still fall for it.

In MSTSC (aka RDP), click &#039;show options&#039; then go to the &#039;Local Resources&#039; tab.  Under keyboard, notice that &#039;Apply Windows key combinations:&#039; defaults to &#039;only when using the full screen&#039;.  So, if you&#039;re in windowed mode, ALT-F4 closes your RDP session by default.]]></description>
		<content:encoded><![CDATA[<p>Depending on your settings when you launch MSTSC, ALT-F4 could work against the local system and just close the RDP session.  By default, ALT-F4 is &#8216;old school&#8217; (Win3 or older) for &#8216;close the current window&#8217;.  Gamers throw this one out there when someone is being noobish.  People still fall for it.</p>
<p>In MSTSC (aka RDP), click &#8216;show options&#8217; then go to the &#8216;Local Resources&#8217; tab.  Under keyboard, notice that &#8216;Apply Windows key combinations:&#8217; defaults to &#8216;only when using the full screen&#8217;.  So, if you&#8217;re in windowed mode, ALT-F4 closes your RDP session by default.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to Reboot Machine While Connected Through Remote Desktop by Scott</title>
		<link>http://stuff.seans.com/2009/01/17/how-to-reboot-machine-while-connected-through-remote-desktop/#comment-2079</link>
		<dc:creator><![CDATA[Scott]]></dc:creator>
		<pubDate>Sat, 11 May 2013 18:43:40 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=600#comment-2079</guid>
		<description><![CDATA[You don&#039;t have to add Terminal Services on Windows machines to be able to remote into them.  
* You need to be on the same network or have a valid route.  
* You need to have the IP address or be able to resolve the name.  (Homegroup takes care of this)
* You need to have Remote Desktop enabled (in Win7, System Properties, &#039;Remote&#039; tab, &#039;Remote Desktop&#039; section.

shutdown -a 
Aborts the shutdown, useful if you accidentally do it on your system or if someone is playing games trying to shut your system down.

If the time value is greater than 0, -f is implied.

shutdown /i 
Gives you a GUI version that is very useful if you&#039;re restarting a list of hosts and will let you document why.]]></description>
		<content:encoded><![CDATA[<p>You don&#8217;t have to add Terminal Services on Windows machines to be able to remote into them.<br />
* You need to be on the same network or have a valid route.<br />
* You need to have the IP address or be able to resolve the name.  (Homegroup takes care of this)<br />
* You need to have Remote Desktop enabled (in Win7, System Properties, &#8216;Remote&#8217; tab, &#8216;Remote Desktop&#8217; section.</p>
<p>shutdown -a<br />
Aborts the shutdown, useful if you accidentally do it on your system or if someone is playing games trying to shut your system down.</p>
<p>If the time value is greater than 0, -f is implied.</p>
<p>shutdown /i<br />
Gives you a GUI version that is very useful if you&#8217;re restarting a list of hosts and will let you document why.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Windows 7 Install Screenshots by Stranger</title>
		<link>http://stuff.seans.com/2008/11/07/windows-7-install-screenshots/#comment-2076</link>
		<dc:creator><![CDATA[Stranger]]></dc:creator>
		<pubDate>Mon, 06 May 2013 19:20:05 +0000</pubDate>
		<guid isPermaLink="false">http://spsexton.wordpress.com/?p=404#comment-2076</guid>
		<description><![CDATA[Awesome :)]]></description>
		<content:encoded><![CDATA[<p>Awesome :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using HttpWebRequest for Asynchronous Downloads by Allan Chua</title>
		<link>http://stuff.seans.com/2009/01/05/using-httpwebrequest-for-asynchronous-downloads/#comment-2061</link>
		<dc:creator><![CDATA[Allan Chua]]></dc:creator>
		<pubDate>Fri, 29 Mar 2013 01:33:12 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=475#comment-2061</guid>
		<description><![CDATA[Hi, I&#039;m trying to do this on silverlight and i&#039;m getting an out-of-memory exception when using my code(see below). Any help will really be appreciated. 

            WebRequest documentRequest = (HttpWebRequest)HttpWebRequest.Create(fileUri);
            WebRequestState requestState = new HttpWebRequestState(8192);
            requestState.Request = documentRequest;

            requestState.FileUri = fileUri;
            requestState.ResponseInformationCallback = new WebRequestState.ResponseInfoDelegate(requestStateInformation_CallBack);
            requestState.ProgressCallback = new WebRequestState.ProgressDelegate(ProgressChanged_CallBack);
            requestState.DownloadCompleteCallback = new WebRequestState.DownloadCompleteDelegate(DownloadCompleted_Callback);
            requestState.TransferStart = DateTime.Now;

            IAsyncResult result = (IAsyncResult)documentRequest.BeginGetResponse(new AsyncCallback(ResponseCallBack), requestState);

        private void requestStateInformation_CallBack(string statusDescr, string contentLength)
        {
        }

        private void ProgressChanged_CallBack(int totalBytes, double pctComplete, double transferRate)
        {
            if (this.Dispatcher.CheckAccess())
            {
                this.UpdateProgressBar(totalBytes, pctComplete, transferRate);
            }
            else
            {
                Deployment.Current.Dispatcher.BeginInvoke(() =&gt;
                {
                    UpdateProgressBar(totalBytes, pctComplete, transferRate);
                });
            }
            
        }

        private void DownloadCompleted_Callback(byte[] bufferRead)
        {
            if (this.Dispatcher.CheckAccess())
            {
                AddWatermarkIfAnyExists(bufferRead);
            }
            else
            {
                Deployment.Current.Dispatcher.BeginInvoke(() =&gt;
                {
                    AddWatermarkIfAnyExists(bufferRead);
                });
            }
        }

        private void ResponseCallBack(IAsyncResult asyncResult)
        {
            WebRequestState requestState = ((WebRequestState)(asyncResult.AsyncState));
            WebRequest request = requestState.Request;
            
            ((HttpWebRequest)request).AllowReadStreamBuffering = false;
            ((HttpWebRequest)request).AllowAutoRedirect = false;

            HttpWebResponse response = ((HttpWebResponse)(request.EndGetResponse(asyncResult)));
            requestState.Response = response;
            requestState.TotalBytes = requestState.Response.ContentLength;

            string statusDescription = response.StatusDescription;
            string contentLength = requestState.Response.ContentLength.ToString();

            if (statusDescription != &quot;&quot;)
                requestState.ResponseInformationCallback(statusDescription, contentLength);

            Stream responseStream = requestState.Response.GetResponseStream();
            requestState.StreamResponse = responseStream;

            IAsyncResult _asyncResult = responseStream.BeginRead(requestState.BufferRead, 0, 8192, new AsyncCallback(ReadStream_CallBack), requestState);
        }

        private void ReadStream_CallBack(IAsyncResult asyncResult)
        {
            WebRequestState requestState = ((WebRequestState)(asyncResult.AsyncState));
            Stream responseStream = requestState.StreamResponse;
            int bytesRead = responseStream.EndRead(asyncResult);

            if (bytesRead &gt; 0)
            {
                requestState.BytesRead += bytesRead;
                double pctComplete = ((double)requestState.BytesRead / (double)requestState.TotalBytes) * 100.0f;

                TimeSpan totalTime = DateTime.Now - requestState.TransferStart;
                double kbPerSecond = (requestState.BytesRead * 1000.0f) / (totalTime.TotalMilliseconds * 1024.0f);

                requestState.ProgressCallback(requestState.BytesRead, pctComplete, kbPerSecond);

                //byte[] fileBytes = new byte[requestState.File.Length + bytesRead];

                //System.Buffer.BlockCopy(requestState.File, 0, fileBytes, 0, requestState.File.Length);
                //System.Buffer.BlockCopy(requestState.BufferRead, 0, fileBytes, requestState.File.Length, bytesRead);

                requestState.File = CombineBytes(requestState.File, requestState.BufferRead, bytesRead);
                //requestState.File = fileBytes;

                //Trigger another read
                IAsyncResult _asyncResult = responseStream.BeginRead(requestState.BufferRead, 0, 8192, new AsyncCallback(ReadStream_CallBack), requestState);
            }
            else
            {
                responseStream.Close();
                requestState.Response.Close();
                requestState.DownloadCompleteCallback(requestState.File);
            }
        }

        private void UpdateProgressBar(int totalBytes, double pctComplete, double transferRate)
        {
            this.pbDownload.IsIndeterminate = false;
            pbDownload.Value = pctComplete;
            lblDownload.Content = string.Format(&quot;Downloading {0}kb of {1}kb&quot;, ((totalBytes * pctComplete) / 1024), totalBytes / 1024);
        }

        private void AddWatermarkIfAnyExists(byte[] document)
        {
            if (loadWaterMark)
                LoadDocumentWithWaterMark(document);
            else
                LoadDocument(document);
        }

        public byte[] CombineBytes(byte[] first, byte[] second, int secondLimit)
        {
            byte[] ret = new byte[first.Length + second.Length];
            Buffer.BlockCopy(first, 0, ret, 0, first.Length);
            Buffer.BlockCopy(second, 0, ret, first.Length, secondLimit);
            return ret;
        }]]></description>
		<content:encoded><![CDATA[<p>Hi, I&#8217;m trying to do this on silverlight and i&#8217;m getting an out-of-memory exception when using my code(see below). Any help will really be appreciated. </p>
<p>            WebRequest documentRequest = (HttpWebRequest)HttpWebRequest.Create(fileUri);<br />
            WebRequestState requestState = new HttpWebRequestState(8192);<br />
            requestState.Request = documentRequest;</p>
<p>            requestState.FileUri = fileUri;<br />
            requestState.ResponseInformationCallback = new WebRequestState.ResponseInfoDelegate(requestStateInformation_CallBack);<br />
            requestState.ProgressCallback = new WebRequestState.ProgressDelegate(ProgressChanged_CallBack);<br />
            requestState.DownloadCompleteCallback = new WebRequestState.DownloadCompleteDelegate(DownloadCompleted_Callback);<br />
            requestState.TransferStart = DateTime.Now;</p>
<p>            IAsyncResult result = (IAsyncResult)documentRequest.BeginGetResponse(new AsyncCallback(ResponseCallBack), requestState);</p>
<p>        private void requestStateInformation_CallBack(string statusDescr, string contentLength)<br />
        {<br />
        }</p>
<p>        private void ProgressChanged_CallBack(int totalBytes, double pctComplete, double transferRate)<br />
        {<br />
            if (this.Dispatcher.CheckAccess())<br />
            {<br />
                this.UpdateProgressBar(totalBytes, pctComplete, transferRate);<br />
            }<br />
            else<br />
            {<br />
                Deployment.Current.Dispatcher.BeginInvoke(() =&gt;<br />
                {<br />
                    UpdateProgressBar(totalBytes, pctComplete, transferRate);<br />
                });<br />
            }</p>
<p>        }</p>
<p>        private void DownloadCompleted_Callback(byte[] bufferRead)<br />
        {<br />
            if (this.Dispatcher.CheckAccess())<br />
            {<br />
                AddWatermarkIfAnyExists(bufferRead);<br />
            }<br />
            else<br />
            {<br />
                Deployment.Current.Dispatcher.BeginInvoke(() =&gt;<br />
                {<br />
                    AddWatermarkIfAnyExists(bufferRead);<br />
                });<br />
            }<br />
        }</p>
<p>        private void ResponseCallBack(IAsyncResult asyncResult)<br />
        {<br />
            WebRequestState requestState = ((WebRequestState)(asyncResult.AsyncState));<br />
            WebRequest request = requestState.Request;</p>
<p>            ((HttpWebRequest)request).AllowReadStreamBuffering = false;<br />
            ((HttpWebRequest)request).AllowAutoRedirect = false;</p>
<p>            HttpWebResponse response = ((HttpWebResponse)(request.EndGetResponse(asyncResult)));<br />
            requestState.Response = response;<br />
            requestState.TotalBytes = requestState.Response.ContentLength;</p>
<p>            string statusDescription = response.StatusDescription;<br />
            string contentLength = requestState.Response.ContentLength.ToString();</p>
<p>            if (statusDescription != &#8220;&#8221;)<br />
                requestState.ResponseInformationCallback(statusDescription, contentLength);</p>
<p>            Stream responseStream = requestState.Response.GetResponseStream();<br />
            requestState.StreamResponse = responseStream;</p>
<p>            IAsyncResult _asyncResult = responseStream.BeginRead(requestState.BufferRead, 0, 8192, new AsyncCallback(ReadStream_CallBack), requestState);<br />
        }</p>
<p>        private void ReadStream_CallBack(IAsyncResult asyncResult)<br />
        {<br />
            WebRequestState requestState = ((WebRequestState)(asyncResult.AsyncState));<br />
            Stream responseStream = requestState.StreamResponse;<br />
            int bytesRead = responseStream.EndRead(asyncResult);</p>
<p>            if (bytesRead &gt; 0)<br />
            {<br />
                requestState.BytesRead += bytesRead;<br />
                double pctComplete = ((double)requestState.BytesRead / (double)requestState.TotalBytes) * 100.0f;</p>
<p>                TimeSpan totalTime = DateTime.Now &#8211; requestState.TransferStart;<br />
                double kbPerSecond = (requestState.BytesRead * 1000.0f) / (totalTime.TotalMilliseconds * 1024.0f);</p>
<p>                requestState.ProgressCallback(requestState.BytesRead, pctComplete, kbPerSecond);</p>
<p>                //byte[] fileBytes = new byte[requestState.File.Length + bytesRead];</p>
<p>                //System.Buffer.BlockCopy(requestState.File, 0, fileBytes, 0, requestState.File.Length);<br />
                //System.Buffer.BlockCopy(requestState.BufferRead, 0, fileBytes, requestState.File.Length, bytesRead);</p>
<p>                requestState.File = CombineBytes(requestState.File, requestState.BufferRead, bytesRead);<br />
                //requestState.File = fileBytes;</p>
<p>                //Trigger another read<br />
                IAsyncResult _asyncResult = responseStream.BeginRead(requestState.BufferRead, 0, 8192, new AsyncCallback(ReadStream_CallBack), requestState);<br />
            }<br />
            else<br />
            {<br />
                responseStream.Close();<br />
                requestState.Response.Close();<br />
                requestState.DownloadCompleteCallback(requestState.File);<br />
            }<br />
        }</p>
<p>        private void UpdateProgressBar(int totalBytes, double pctComplete, double transferRate)<br />
        {<br />
            this.pbDownload.IsIndeterminate = false;<br />
            pbDownload.Value = pctComplete;<br />
            lblDownload.Content = string.Format(&#8220;Downloading {0}kb of {1}kb&#8221;, ((totalBytes * pctComplete) / 1024), totalBytes / 1024);<br />
        }</p>
<p>        private void AddWatermarkIfAnyExists(byte[] document)<br />
        {<br />
            if (loadWaterMark)<br />
                LoadDocumentWithWaterMark(document);<br />
            else<br />
                LoadDocument(document);<br />
        }</p>
<p>        public byte[] CombineBytes(byte[] first, byte[] second, int secondLimit)<br />
        {<br />
            byte[] ret = new byte[first.Length + second.Length];<br />
            Buffer.BlockCopy(first, 0, ret, 0, first.Length);<br />
            Buffer.BlockCopy(second, 0, ret, first.Length, secondLimit);<br />
            return ret;<br />
        }</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How Do I Bring Up Task Manager from a Remote Desktop Session? by tracey</title>
		<link>http://stuff.seans.com/2009/04/23/how-do-i-bring-up-task-manager-from-a-remote-desktop-session/#comment-2060</link>
		<dc:creator><![CDATA[tracey]]></dc:creator>
		<pubDate>Wed, 27 Mar 2013 13:41:23 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=881#comment-2060</guid>
		<description><![CDATA[(Ctrl Shift Esc did not work for me) Ctrl+Alt+End did work!]]></description>
		<content:encoded><![CDATA[<p>(Ctrl Shift Esc did not work for me) Ctrl+Alt+End did work!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to Reboot Machine While Connected Through Remote Desktop by joe</title>
		<link>http://stuff.seans.com/2009/01/17/how-to-reboot-machine-while-connected-through-remote-desktop/#comment-2056</link>
		<dc:creator><![CDATA[joe]]></dc:creator>
		<pubDate>Thu, 14 Mar 2013 01:00:07 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=600#comment-2056</guid>
		<description><![CDATA[And for those dire situations where the remote desktop will not launch anything at all, not task manager, not a command prompt, not shutdown (because of a severe out of memory bug introduced by some [censored] security software), ALT-F4 saves the day.  Many thanks.]]></description>
		<content:encoded><![CDATA[<p>And for those dire situations where the remote desktop will not launch anything at all, not task manager, not a command prompt, not shutdown (because of a severe out of memory bug introduced by some [censored] security software), ALT-F4 saves the day.  Many thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using HttpWebRequest for Asynchronous Downloads by Sean</title>
		<link>http://stuff.seans.com/2009/01/05/using-httpwebrequest-for-asynchronous-downloads/#comment-2053</link>
		<dc:creator><![CDATA[Sean]]></dc:creator>
		<pubDate>Fri, 01 Mar 2013 20:33:47 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=475#comment-2053</guid>
		<description><![CDATA[Should be working now.  Sorry about that.]]></description>
		<content:encoded><![CDATA[<p>Should be working now.  Sorry about that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on .NET Basics &#8211; Do Work in Background Thread to Keep GUI Responsive by Shane</title>
		<link>http://stuff.seans.com/2009/05/21/net-basics-do-work-in-background-thread-to-keep-gui-responsive/#comment-2049</link>
		<dc:creator><![CDATA[Shane]]></dc:creator>
		<pubDate>Wed, 20 Feb 2013 21:15:57 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=893#comment-2049</guid>
		<description><![CDATA[Thanks for the quick response Sean and yes you understand me correctly, except to add that a form button does not directly create the loop. A button does start the process, but the loop starts within an object of another class, that I instantiate from my main form. This object is my work-engine type object...it does a whole load of checking, before looping through a list of &#039;items&#039;.
I&#039;ll come clean; the &#039;items&#039; are software applications that I want to install sequentially. Some are Windows Installer\MSI based, and for this I use a windows installer API DLL that seems to work asynchronously, raising events which are handled in my main form (not my code btw) to update progress bars etc. The remainder are exe based setup routines.
These exe based routines need their own async process...so, I did previously think about placing the entire loop into its own background worker, as you said, but I&#039;d decided that  it would be complicated as I&#039;ll now be calling MSI&#039;s which already run asynchronously, from another asynchronous thread - queue lots of head scratching wondering how the communication back to my main form is done - but perhaps this is not as complicated as I think?
Currently, to get around my issue, I&#039;m resorting to using Process.Start for all non-MSI applications, running theses with a reduced GUI of their own (if they support this natively) and hiding my main form so that a user can&#039;t click on it and discover it&#039;s frozen\busy - not pretty but gets me there.
.Net 4.0 is not allowed in our current environment unfortunately.

I need to do some more reading I think. TBH, I&#039;ve only started coding in the last year so there&#039;s a lot I need to learn.
Once again, thanks for the response.]]></description>
		<content:encoded><![CDATA[<p>Thanks for the quick response Sean and yes you understand me correctly, except to add that a form button does not directly create the loop. A button does start the process, but the loop starts within an object of another class, that I instantiate from my main form. This object is my work-engine type object&#8230;it does a whole load of checking, before looping through a list of &#8216;items&#8217;.<br />
I&#8217;ll come clean; the &#8216;items&#8217; are software applications that I want to install sequentially. Some are Windows Installer\MSI based, and for this I use a windows installer API DLL that seems to work asynchronously, raising events which are handled in my main form (not my code btw) to update progress bars etc. The remainder are exe based setup routines.<br />
These exe based routines need their own async process&#8230;so, I did previously think about placing the entire loop into its own background worker, as you said, but I&#8217;d decided that  it would be complicated as I&#8217;ll now be calling MSI&#8217;s which already run asynchronously, from another asynchronous thread &#8211; queue lots of head scratching wondering how the communication back to my main form is done &#8211; but perhaps this is not as complicated as I think?<br />
Currently, to get around my issue, I&#8217;m resorting to using Process.Start for all non-MSI applications, running theses with a reduced GUI of their own (if they support this natively) and hiding my main form so that a user can&#8217;t click on it and discover it&#8217;s frozen\busy &#8211; not pretty but gets me there.<br />
.Net 4.0 is not allowed in our current environment unfortunately.</p>
<p>I need to do some more reading I think. TBH, I&#8217;ve only started coding in the last year so there&#8217;s a lot I need to learn.<br />
Once again, thanks for the response.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using HttpWebRequest for Asynchronous Downloads by Sean</title>
		<link>http://stuff.seans.com/2009/01/05/using-httpwebrequest-for-asynchronous-downloads/#comment-2048</link>
		<dc:creator><![CDATA[Sean]]></dc:creator>
		<pubDate>Wed, 20 Feb 2013 19:08:23 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=475#comment-2048</guid>
		<description><![CDATA[Sure, my example reads the data into the buffer in WebRequestState, so you could just access that data from the ReadCallback method, as each packet becomes available.]]></description>
		<content:encoded><![CDATA[<p>Sure, my example reads the data into the buffer in WebRequestState, so you could just access that data from the ReadCallback method, as each packet becomes available.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on .NET Basics &#8211; Do Work in Background Thread to Keep GUI Responsive by Sean</title>
		<link>http://stuff.seans.com/2009/05/21/net-basics-do-work-in-background-thread-to-keep-gui-responsive/#comment-2047</link>
		<dc:creator><![CDATA[Sean]]></dc:creator>
		<pubDate>Wed, 20 Feb 2013 19:01:14 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=893#comment-2047</guid>
		<description><![CDATA[Thanks Shane.  If I understand you correctly, you want to have the user click on a button and then work through a loop, doing some action iteratively.  And you want the GUI to not block, but become immediately responsive after they click the button?

I would just put the entire for loop in the BackgroundWorker and then, each time through the loop, do the work you&#039;re doing synchronously, rather than firing up a BackgroundWorker for each iteration.  You&#039;d only do this if you wanted them to run in parallel.

Even better, you should probably look into using async/await keywords, available in .NET 4.5.  (Or .NET 4.0, using Async Targeting Pack).  They simplify the pattern for doing asynchronous work on background threads, even a bit more than the BackgroundWorker.]]></description>
		<content:encoded><![CDATA[<p>Thanks Shane.  If I understand you correctly, you want to have the user click on a button and then work through a loop, doing some action iteratively.  And you want the GUI to not block, but become immediately responsive after they click the button?</p>
<p>I would just put the entire for loop in the BackgroundWorker and then, each time through the loop, do the work you&#8217;re doing synchronously, rather than firing up a BackgroundWorker for each iteration.  You&#8217;d only do this if you wanted them to run in parallel.</p>
<p>Even better, you should probably look into using async/await keywords, available in .NET 4.5.  (Or .NET 4.0, using Async Targeting Pack).  They simplify the pattern for doing asynchronous work on background threads, even a bit more than the BackgroundWorker.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on .NET Basics &#8211; Do Work in Background Thread to Keep GUI Responsive by Shane</title>
		<link>http://stuff.seans.com/2009/05/21/net-basics-do-work-in-background-thread-to-keep-gui-responsive/#comment-2043</link>
		<dc:creator><![CDATA[Shane]]></dc:creator>
		<pubDate>Wed, 20 Feb 2013 13:06:58 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=893#comment-2043</guid>
		<description><![CDATA[Excellent post. I had to struggle through other backgroundworker tutorials on the web - why couldn&#039;t I have found this one first!

I have a question Sean if you don&#039;t mind - once you fire off a backgroudworker, it does its job asynchronously. As a form button was used to kick start this whole process, control returns to the form which is now free from the time-consuming activities and thus does not freeze. And no other form code is executed until a user clicks on another enabled button etc.

But what if when you click on a button you have a for or while loop, and in this loop you want to call a background worker. But you do NOT want the next loop iteration to execute, until the background worker has completed its first task? Can this be done? i.e. can you somehow pause the next loop iteration while the background worker is doing its thing, but not freeze the main form?]]></description>
		<content:encoded><![CDATA[<p>Excellent post. I had to struggle through other backgroundworker tutorials on the web &#8211; why couldn&#8217;t I have found this one first!</p>
<p>I have a question Sean if you don&#8217;t mind &#8211; once you fire off a backgroudworker, it does its job asynchronously. As a form button was used to kick start this whole process, control returns to the form which is now free from the time-consuming activities and thus does not freeze. And no other form code is executed until a user clicks on another enabled button etc.</p>
<p>But what if when you click on a button you have a for or while loop, and in this loop you want to call a background worker. But you do NOT want the next loop iteration to execute, until the background worker has completed its first task? Can this be done? i.e. can you somehow pause the next loop iteration while the background worker is doing its thing, but not freeze the main form?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using HttpWebRequest for Asynchronous Downloads by Darshan</title>
		<link>http://stuff.seans.com/2009/01/05/using-httpwebrequest-for-asynchronous-downloads/#comment-2040</link>
		<dc:creator><![CDATA[Darshan]]></dc:creator>
		<pubDate>Mon, 18 Feb 2013 14:12:28 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=475#comment-2040</guid>
		<description><![CDATA[Your code looks amazing, I want to download the file and simultaneously write into file. Can you please help me writing the code and where exactly I should place in above code. I use c# language.]]></description>
		<content:encoded><![CDATA[<p>Your code looks amazing, I want to download the file and simultaneously write into file. Can you please help me writing the code and where exactly I should place in above code. I use c# language.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Visual Studio 2010 Install Screenshots by Babjan</title>
		<link>http://stuff.seans.com/2009/06/29/visual-studio-2010-install-screenshots/#comment-2039</link>
		<dc:creator><![CDATA[Babjan]]></dc:creator>
		<pubDate>Mon, 18 Feb 2013 11:23:08 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=961#comment-2039</guid>
		<description><![CDATA[Thanks for giving detailed Screenshot  explanation]]></description>
		<content:encoded><![CDATA[<p>Thanks for giving detailed Screenshot  explanation</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Visual Studio 2010 Install Screenshots by Installing Visual Studio &#124; Blog.webinventors.in</title>
		<link>http://stuff.seans.com/2009/06/29/visual-studio-2010-install-screenshots/#comment-2036</link>
		<dc:creator><![CDATA[Installing Visual Studio &#124; Blog.webinventors.in]]></dc:creator>
		<pubDate>Sat, 16 Feb 2013 07:03:24 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=961#comment-2036</guid>
		<description><![CDATA[[...] Reference: http://stuff.seans.com/2009/06/29/visual-studio-2010-install-screenshots/ [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Reference: <a href="http://stuff.seans.com/2009/06/29/visual-studio-2010-install-screenshots/" rel="nofollow">http://stuff.seans.com/2009/06/29/visual-studio-2010-install-screenshots/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to Reboot Machine While Connected Through Remote Desktop by R Duke</title>
		<link>http://stuff.seans.com/2009/01/17/how-to-reboot-machine-while-connected-through-remote-desktop/#comment-2035</link>
		<dc:creator><![CDATA[R Duke]]></dc:creator>
		<pubDate>Thu, 14 Feb 2013 21:04:54 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=600#comment-2035</guid>
		<description><![CDATA[For an interactive shutdown/restart, you only need to remember the /i option. It brings up a GUI where you can select the options (and which computers on your network to restart or shutdown)]]></description>
		<content:encoded><![CDATA[<p>For an interactive shutdown/restart, you only need to remember the /i option. It brings up a GUI where you can select the options (and which computers on your network to restart or shutdown)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How Do I Bring Up Task Manager from a Remote Desktop Session? by Prathyusha</title>
		<link>http://stuff.seans.com/2009/04/23/how-do-i-bring-up-task-manager-from-a-remote-desktop-session/#comment-2034</link>
		<dc:creator><![CDATA[Prathyusha]]></dc:creator>
		<pubDate>Thu, 14 Feb 2013 13:51:08 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=881#comment-2034</guid>
		<description><![CDATA[Ctrl+Alt+End worked. Thanks !]]></description>
		<content:encoded><![CDATA[<p>Ctrl+Alt+End worked. Thanks !</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to Reboot Machine While Connected Through Remote Desktop by not@not.com</title>
		<link>http://stuff.seans.com/2009/01/17/how-to-reboot-machine-while-connected-through-remote-desktop/#comment-2033</link>
		<dc:creator><![CDATA[not@not.com]]></dc:creator>
		<pubDate>Wed, 13 Feb 2013 06:40:55 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=600#comment-2033</guid>
		<description><![CDATA[Thank you sir!!]]></description>
		<content:encoded><![CDATA[<p>Thank you sir!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to Reboot Machine While Connected Through Remote Desktop by Christine S.</title>
		<link>http://stuff.seans.com/2009/01/17/how-to-reboot-machine-while-connected-through-remote-desktop/#comment-2032</link>
		<dc:creator><![CDATA[Christine S.]]></dc:creator>
		<pubDate>Tue, 12 Feb 2013 22:45:37 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=600#comment-2032</guid>
		<description><![CDATA[Thanks -- very helpful!]]></description>
		<content:encoded><![CDATA[<p>Thanks &#8212; very helpful!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Hello WPF World, part 1 by Sean</title>
		<link>http://stuff.seans.com/2008/07/11/hello-wpf-world-part-1/#comment-2030</link>
		<dc:creator><![CDATA[Sean]]></dc:creator>
		<pubDate>Sun, 10 Feb 2013 16:00:28 +0000</pubDate>
		<guid isPermaLink="false">http://spsexton.wordpress.com/?p=24#comment-2030</guid>
		<description><![CDATA[Thanks Dixie.  Not long to write, it&#039;s pretty basic stuff.]]></description>
		<content:encoded><![CDATA[<p>Thanks Dixie.  Not long to write, it&#8217;s pretty basic stuff.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Hello WPF World, part 1 by http://yahoo.com</title>
		<link>http://stuff.seans.com/2008/07/11/hello-wpf-world-part-1/#comment-2029</link>
		<dc:creator><![CDATA[http://yahoo.com]]></dc:creator>
		<pubDate>Sun, 10 Feb 2013 14:59:32 +0000</pubDate>
		<guid isPermaLink="false">http://spsexton.wordpress.com/?p=24#comment-2029</guid>
		<description><![CDATA[]]></description>
		<content:encoded><![CDATA[<p>How much time did it require you to write â€śHello<br />
WPF World, part 1 « Sean’s Stuffâ€ť? It contains an awful lot of really<br />
good knowledge. Appreciate it -Dixie</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using HttpWebRequest for Asynchronous Downloads by Andrew</title>
		<link>http://stuff.seans.com/2009/01/05/using-httpwebrequest-for-asynchronous-downloads/#comment-2027</link>
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Mon, 04 Feb 2013 21:36:34 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=475#comment-2027</guid>
		<description><![CDATA[The download of the full zip is broken. Doesn&#039;t look like http://www.seans.com/samples/DownloadStressTest.zip points to anything.]]></description>
		<content:encoded><![CDATA[<p>The download of the full zip is broken. Doesn&#8217;t look like <a href="http://www.seans.com/samples/DownloadStressTest.zip" rel="nofollow">http://www.seans.com/samples/DownloadStressTest.zip</a> points to anything.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Windows 7 Install Screenshots by Sean</title>
		<link>http://stuff.seans.com/2008/11/07/windows-7-install-screenshots/#comment-2025</link>
		<dc:creator><![CDATA[Sean]]></dc:creator>
		<pubDate>Sun, 03 Feb 2013 14:53:47 +0000</pubDate>
		<guid isPermaLink="false">http://spsexton.wordpress.com/?p=404#comment-2025</guid>
		<description><![CDATA[I think that perhaps you should do your own work. :O)]]></description>
		<content:encoded><![CDATA[<p>I think that perhaps you should do your own work. :O)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Windows 7 Install Screenshots by Muhammad Aqeel Hashmi</title>
		<link>http://stuff.seans.com/2008/11/07/windows-7-install-screenshots/#comment-2024</link>
		<dc:creator><![CDATA[Muhammad Aqeel Hashmi]]></dc:creator>
		<pubDate>Sun, 03 Feb 2013 05:49:11 +0000</pubDate>
		<guid isPermaLink="false">http://spsexton.wordpress.com/?p=404#comment-2024</guid>
		<description><![CDATA[hi. i also have got an assignment to work on operating systems installation. would you plz send me your slides so that i may be able to show impressive work]]></description>
		<content:encoded><![CDATA[<p>hi. i also have got an assignment to work on operating systems installation. would you plz send me your slides so that i may be able to show impressive work</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Why I Turned Off WordAds by Sean</title>
		<link>http://stuff.seans.com/2013/01/23/why-i-turned-off-wordads/#comment-2013</link>
		<dc:creator><![CDATA[Sean]]></dc:creator>
		<pubDate>Fri, 25 Jan 2013 00:40:20 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=1996#comment-2013</guid>
		<description><![CDATA[Jon, thanks for the detailed reply.

WordAds definitely makes it easy to get ads served up, without having to work directly with the ad vendors.  You&#039;ve done a great job making this work so seamlessly.

I realize that it&#039;s hard to serve the needs of thousands of blogs, in terms of what sorts of ads they&#039;d like to see.  Some are all about click-through, to maximize impressions, without a lot of concern about the actual aesthetics of the ads.  Other (like me) would rather have ads that meet a particular level of professionalism, aesthetically speaking.  Click-through is only secondary, since my primary goal is to provide professional content in my blog and secondary goal would be to underwrite the blog with ads, but only if I can be assured of doing this with ads that are as professional and aesthetically clean as my blog.

I still do object to the video-based ads, given how they are not visually distinct enough from the blog content, from a graphic design perspective.  And despite the small header that mentions the video being an ad, I know that many readers confuse the ad as being part of the content.  Perhaps that explains the higher click-through rates? :O)

The relevancy thing is less important to me, but also a philosophical discussion.  I understand how ads are targeted based on either browsing history or on content.  And possibly just my personal opinion, but I&#039;d be pretty irritated to see a ski gear ad on a blog about something entirely different, just because I&#039;d recently searched for ski gear.  I realize that this is the way that online ads are trending, but I also believe that it&#039;s disrespectful of the users.  A professional and respectful ad should be relevant to what the user is doing right now, but without being so relevant as to be creepy or prying (e.g. ads based on content in the body of an e-mail message).

Again, I realize that there are competing goals here.  Advertisers, ad partners, and content creators all want to make money.  Users and consumers of content want to be treated in a respectful way and want to see something that is aesthetically clean.  In my opinion, we&#039;ve moved a bit too far away from the latter, in favor of the former.  I hear all of the time (and I&#039;m sure you do too) that &quot;average&quot; people are often frustrated with ads on web sites, because the ads are too intrusive, too garish, or too confusing (e.g. the large download button).  This tells me that there is probably a market out there for ad partners and content creators to create aesthetically tasteful ads, though perhaps at the expense of a few pennies of ad revenue.

Sean]]></description>
		<content:encoded><![CDATA[<p>Jon, thanks for the detailed reply.</p>
<p>WordAds definitely makes it easy to get ads served up, without having to work directly with the ad vendors.  You&#8217;ve done a great job making this work so seamlessly.</p>
<p>I realize that it&#8217;s hard to serve the needs of thousands of blogs, in terms of what sorts of ads they&#8217;d like to see.  Some are all about click-through, to maximize impressions, without a lot of concern about the actual aesthetics of the ads.  Other (like me) would rather have ads that meet a particular level of professionalism, aesthetically speaking.  Click-through is only secondary, since my primary goal is to provide professional content in my blog and secondary goal would be to underwrite the blog with ads, but only if I can be assured of doing this with ads that are as professional and aesthetically clean as my blog.</p>
<p>I still do object to the video-based ads, given how they are not visually distinct enough from the blog content, from a graphic design perspective.  And despite the small header that mentions the video being an ad, I know that many readers confuse the ad as being part of the content.  Perhaps that explains the higher click-through rates? :O)</p>
<p>The relevancy thing is less important to me, but also a philosophical discussion.  I understand how ads are targeted based on either browsing history or on content.  And possibly just my personal opinion, but I&#8217;d be pretty irritated to see a ski gear ad on a blog about something entirely different, just because I&#8217;d recently searched for ski gear.  I realize that this is the way that online ads are trending, but I also believe that it&#8217;s disrespectful of the users.  A professional and respectful ad should be relevant to what the user is doing right now, but without being so relevant as to be creepy or prying (e.g. ads based on content in the body of an e-mail message).</p>
<p>Again, I realize that there are competing goals here.  Advertisers, ad partners, and content creators all want to make money.  Users and consumers of content want to be treated in a respectful way and want to see something that is aesthetically clean.  In my opinion, we&#8217;ve moved a bit too far away from the latter, in favor of the former.  I hear all of the time (and I&#8217;m sure you do too) that &#8220;average&#8221; people are often frustrated with ads on web sites, because the ads are too intrusive, too garish, or too confusing (e.g. the large download button).  This tells me that there is probably a market out there for ad partners and content creators to create aesthetically tasteful ads, though perhaps at the expense of a few pennies of ad revenue.</p>
<p>Sean</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How Do I Bring Up Task Manager from a Remote Desktop Session? by lakshmanan</title>
		<link>http://stuff.seans.com/2009/04/23/how-do-i-bring-up-task-manager-from-a-remote-desktop-session/#comment-2012</link>
		<dc:creator><![CDATA[lakshmanan]]></dc:creator>
		<pubDate>Fri, 25 Jan 2013 00:17:07 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=881#comment-2012</guid>
		<description><![CDATA[it is working i skip for manual restart thanks dude]]></description>
		<content:encoded><![CDATA[<p>it is working i skip for manual restart thanks dude</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Why I Turned Off WordAds by jonburke</title>
		<link>http://stuff.seans.com/2013/01/23/why-i-turned-off-wordads/#comment-2009</link>
		<dc:creator><![CDATA[jonburke]]></dc:creator>
		<pubDate>Wed, 23 Jan 2013 22:14:19 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=1996#comment-2009</guid>
		<description><![CDATA[I appreciate your thoughtful post on WordAds, which I work on for Automattic and WordPress.com. i wanted to respond here and give some feedback on your complaints. 

The purpose of WordAds is to make advertising easy for WordPress.com users. Online advertising can be a time suck with technical, design and business requirements. WordAds also extends to smaller sites the ability to work with ad partners that generally don&#039;t work with smaller sites. 

We do hear some misunderstanding about what is WordAds. WordAds is not an advertiser or ad network. Rather we optimize a fairly large number of ad partners. That means that there isn&#039;t any one WordAds type of ad. If and when we find a new partner that has an ad product that we like and that pays well we will add them to WordAds. Likewise when an ad partner lets down sites we move away from that partner. One challenge we have is that there are many opinions about what users want and don&#039;t in ads and its difficult to deliver exactly what each site wants.  

&gt; They donâ€™t look like ads  (e.g. ad consists solely of embedded YouTube video)
Ads creatives and type of ads differ depending on the country of the visitor. However, we do run and prefer to run click to play video ads. It&#039;s a matter of taste but we prefer them a) because they pay much better per view than standard banner or text ads and b) We think the creative quality is higher than banner ads that we have tested and c) We get a very high click through rate on the videos and the data indicates that people watch the videos which are created to be entertaining so we think this is a better experience than running the display ads. 

&gt; Ads are not separated from my blog content in any way, e.g. with a border
We do insert an About These Ads link above the ads. We don&#039;t insert a border because there are so many themes on Wordpress.com if we add an additional layer it would cause layout problems. We do have a designer who is specifically working on improving the look on each theme. 

 &gt; Ads arenâ€™t relevant to my readers
We hear this a good amount. I believe that people are trained by Google search ads that the best online ads mirror the subject of the site.  However, outside of search that is often not how online ads are bought and sold these days. As with TV advertisers, online advertisers are generally paying to be in front of an audience demographic (male/female, geo, etc.) and often via re-targeting so that if a visitor was looking at ski gear on another site they might see ski gear ads on your site even though your site has nothing to do with ski gear.  

 &gt; Multiple ads leads to the web page being cluttered
WordAds has a one ad per page option.]]></description>
		<content:encoded><![CDATA[<p>I appreciate your thoughtful post on WordAds, which I work on for Automattic and WordPress.com. i wanted to respond here and give some feedback on your complaints. </p>
<p>The purpose of WordAds is to make advertising easy for WordPress.com users. Online advertising can be a time suck with technical, design and business requirements. WordAds also extends to smaller sites the ability to work with ad partners that generally don&#8217;t work with smaller sites. </p>
<p>We do hear some misunderstanding about what is WordAds. WordAds is not an advertiser or ad network. Rather we optimize a fairly large number of ad partners. That means that there isn&#8217;t any one WordAds type of ad. If and when we find a new partner that has an ad product that we like and that pays well we will add them to WordAds. Likewise when an ad partner lets down sites we move away from that partner. One challenge we have is that there are many opinions about what users want and don&#8217;t in ads and its difficult to deliver exactly what each site wants.  </p>
<p>&gt; They donâ€™t look like ads  (e.g. ad consists solely of embedded YouTube video)<br />
Ads creatives and type of ads differ depending on the country of the visitor. However, we do run and prefer to run click to play video ads. It&#8217;s a matter of taste but we prefer them a) because they pay much better per view than standard banner or text ads and b) We think the creative quality is higher than banner ads that we have tested and c) We get a very high click through rate on the videos and the data indicates that people watch the videos which are created to be entertaining so we think this is a better experience than running the display ads. </p>
<p>&gt; Ads are not separated from my blog content in any way, e.g. with a border<br />
We do insert an About These Ads link above the ads. We don&#8217;t insert a border because there are so many themes on WordPress.com if we add an additional layer it would cause layout problems. We do have a designer who is specifically working on improving the look on each theme. </p>
<p> &gt; Ads arenâ€™t relevant to my readers<br />
We hear this a good amount. I believe that people are trained by Google search ads that the best online ads mirror the subject of the site.  However, outside of search that is often not how online ads are bought and sold these days. As with TV advertisers, online advertisers are generally paying to be in front of an audience demographic (male/female, geo, etc.) and often via re-targeting so that if a visitor was looking at ski gear on another site they might see ski gear ads on your site even though your site has nothing to do with ski gear.  </p>
<p> &gt; Multiple ads leads to the web page being cluttered<br />
WordAds has a one ad per page option.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Why I Turned Off WordAds by Ad Free &#171; 2,000 Things You Should Know About C#</title>
		<link>http://stuff.seans.com/2013/01/23/why-i-turned-off-wordads/#comment-2008</link>
		<dc:creator><![CDATA[Ad Free &#171; 2,000 Things You Should Know About C#]]></dc:creator>
		<pubDate>Wed, 23 Jan 2013 14:35:11 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=1996#comment-2008</guid>
		<description><![CDATA[[...] I&#8217;ve turned off ads onÂ 2,000 Things You Should Know about C#. Â For a full explanation, clickÂ here. [...]]]></description>
		<content:encoded><![CDATA[<p>[...] I&#8217;ve turned off ads onÂ 2,000 Things You Should Know about C#. Â For a full explanation, clickÂ here. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Why I Turned Off WordAds by Ad Free &#171; 2,000 Things You Should Know About WPF</title>
		<link>http://stuff.seans.com/2013/01/23/why-i-turned-off-wordads/#comment-2007</link>
		<dc:creator><![CDATA[Ad Free &#171; 2,000 Things You Should Know About WPF]]></dc:creator>
		<pubDate>Wed, 23 Jan 2013 14:34:06 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=1996#comment-2007</guid>
		<description><![CDATA[[...] I&#8217;ve turned off ads on 2,000 Things You Should Know about WPF. Â For a full explanation, click here. [...]]]></description>
		<content:encoded><![CDATA[<p>[...] I&#8217;ve turned off ads on 2,000 Things You Should Know about WPF. Â For a full explanation, click here. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Windows 7 Install Screenshots by RIAZ</title>
		<link>http://stuff.seans.com/2008/11/07/windows-7-install-screenshots/#comment-2006</link>
		<dc:creator><![CDATA[RIAZ]]></dc:creator>
		<pubDate>Wed, 09 Jan 2013 21:52:50 +0000</pubDate>
		<guid isPermaLink="false">http://spsexton.wordpress.com/?p=404#comment-2006</guid>
		<description><![CDATA[very good work...its very helpfull.....]]></description>
		<content:encoded><![CDATA[<p>very good work&#8230;its very helpfull&#8230;..</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How Do I Bring Up Task Manager from a Remote Desktop Session? by Frustration_Gone</title>
		<link>http://stuff.seans.com/2009/04/23/how-do-i-bring-up-task-manager-from-a-remote-desktop-session/#comment-2004</link>
		<dc:creator><![CDATA[Frustration_Gone]]></dc:creator>
		<pubDate>Sun, 06 Jan 2013 19:20:43 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=881#comment-2004</guid>
		<description><![CDATA[Thank you very much. My remote machine was just stuck for the past more than 1 hour and I was not able to bring up the task manager. This helped and everything was back to normal pretty soon. Thanks again!]]></description>
		<content:encoded><![CDATA[<p>Thank you very much. My remote machine was just stuck for the past more than 1 hour and I was not able to bring up the task manager. This helped and everything was back to normal pretty soon. Thanks again!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How Do I Bring Up Task Manager from a Remote Desktop Session? by Sandeep</title>
		<link>http://stuff.seans.com/2009/04/23/how-do-i-bring-up-task-manager-from-a-remote-desktop-session/#comment-2003</link>
		<dc:creator><![CDATA[Sandeep]]></dc:creator>
		<pubDate>Fri, 04 Jan 2013 12:29:40 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=881#comment-2003</guid>
		<description><![CDATA[&quot;Ctrl + Alt + End&quot; also servers the purpose]]></description>
		<content:encoded><![CDATA[<p>&#8220;Ctrl + Alt + End&#8221; also servers the purpose</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Silverlight 4 Project Types part II â€“ Silverlight Navigation Application by Jason Jakob</title>
		<link>http://stuff.seans.com/2010/05/07/silverlight-4-project-types-part-ii-%e2%80%93-silverlight-navigation-application/#comment-2001</link>
		<dc:creator><![CDATA[Jason Jakob]]></dc:creator>
		<pubDate>Fri, 28 Dec 2012 19:44:51 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=1152#comment-2001</guid>
		<description><![CDATA[You should consider silverlight (because it&#039;s quick and easy to develop) only if the business is using the tool in house where you can specify to users what browser or OS to run on. If this is for customers to access your business, Silverlight is not fully cross platform (Unix, Mac) compatible or cross browser compatible (plugin installation on firefox/safari have been known to happen). The worst would be to have a client hit your business site and they get a blank screen. I remember a couple of years ago (2010) when microsoft had the silverlight product website built in silverlight and it was such a dog that they removed it and went HTML. That&#039;s gotta tell you something.]]></description>
		<content:encoded><![CDATA[<p>You should consider silverlight (because it&#8217;s quick and easy to develop) only if the business is using the tool in house where you can specify to users what browser or OS to run on. If this is for customers to access your business, Silverlight is not fully cross platform (Unix, Mac) compatible or cross browser compatible (plugin installation on firefox/safari have been known to happen). The worst would be to have a client hit your business site and they get a blank screen. I remember a couple of years ago (2010) when microsoft had the silverlight product website built in silverlight and it was such a dog that they removed it and went HTML. That&#8217;s gotta tell you something.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How Do I Bring Up Task Manager from a Remote Desktop Session? by Bridge</title>
		<link>http://stuff.seans.com/2009/04/23/how-do-i-bring-up-task-manager-from-a-remote-desktop-session/#comment-2000</link>
		<dc:creator><![CDATA[Bridge]]></dc:creator>
		<pubDate>Mon, 24 Dec 2012 13:48:47 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=881#comment-2000</guid>
		<description><![CDATA[You are a life saver... I was just getting frustrated with trying to retrieve task manager on my remote.

This worked like a charm.  Thank you , thank you soooooooo much! :)]]></description>
		<content:encoded><![CDATA[<p>You are a life saver&#8230; I was just getting frustrated with trying to retrieve task manager on my remote.</p>
<p>This worked like a charm.  Thank you , thank you soooooooo much! :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Windows 7 Install Screenshots by Ron</title>
		<link>http://stuff.seans.com/2008/11/07/windows-7-install-screenshots/#comment-1999</link>
		<dc:creator><![CDATA[Ron]]></dc:creator>
		<pubDate>Sun, 23 Dec 2012 18:04:34 +0000</pubDate>
		<guid isPermaLink="false">http://spsexton.wordpress.com/?p=404#comment-1999</guid>
		<description><![CDATA[Awesome. I really didn&#039;t want to reinstall Windwows to memorize these screens for my 70-680 test. Thanks so much!]]></description>
		<content:encoded><![CDATA[<p>Awesome. I really didn&#8217;t want to reinstall Windwows to memorize these screens for my 70-680 test. Thanks so much!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Microsoft Surface Unboxing by Microsoft Surface Unboxing &#171; Win8 uygulama geliĹźtirme</title>
		<link>http://stuff.seans.com/2012/10/27/microsoft-surface-unboxing/#comment-1995</link>
		<dc:creator><![CDATA[Microsoft Surface Unboxing &#171; Win8 uygulama geliĹźtirme]]></dc:creator>
		<pubDate>Tue, 04 Dec 2012 19:00:36 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=1866#comment-1995</guid>
		<description><![CDATA[[...] http://stuff.seans.com/2012/10/27/microsoft-surface-unboxing/ [...]]]></description>
		<content:encoded><![CDATA[<p>[...] <a href="http://stuff.seans.com/2012/10/27/microsoft-surface-unboxing/" rel="nofollow">http://stuff.seans.com/2012/10/27/microsoft-surface-unboxing/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Raindrop Animation in WPF by sumit</title>
		<link>http://stuff.seans.com/2008/08/24/raindrop-animation-in-wpf/#comment-1993</link>
		<dc:creator><![CDATA[sumit]]></dc:creator>
		<pubDate>Tue, 04 Dec 2012 05:14:52 +0000</pubDate>
		<guid isPermaLink="false">http://spsexton.wordpress.com/?p=179#comment-1993</guid>
		<description><![CDATA[hi... concept is cool but rain drops fall like as a timer is set with 1 second tick for every drop and water movement.. no smoothness. is it my system/ graphics problem or it will any just like it do...??]]></description>
		<content:encoded><![CDATA[<p>hi&#8230; concept is cool but rain drops fall like as a timer is set with 1 second tick for every drop and water movement.. no smoothness. is it my system/ graphics problem or it will any just like it do&#8230;??</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Windows 7 Install Screenshots by jim</title>
		<link>http://stuff.seans.com/2008/11/07/windows-7-install-screenshots/#comment-1981</link>
		<dc:creator><![CDATA[jim]]></dc:creator>
		<pubDate>Thu, 29 Nov 2012 15:40:30 +0000</pubDate>
		<guid isPermaLink="false">http://spsexton.wordpress.com/?p=404#comment-1981</guid>
		<description><![CDATA[thank you]]></description>
		<content:encoded><![CDATA[<p>thank you</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How Do I Bring Up Task Manager from a Remote Desktop Session? by A.K.</title>
		<link>http://stuff.seans.com/2009/04/23/how-do-i-bring-up-task-manager-from-a-remote-desktop-session/#comment-1975</link>
		<dc:creator><![CDATA[A.K.]]></dc:creator>
		<pubDate>Mon, 26 Nov 2012 07:20:26 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=881#comment-1975</guid>
		<description><![CDATA[Thank you very very much!
That was very helpful to me.]]></description>
		<content:encoded><![CDATA[<p>Thank you very very much!<br />
That was very helpful to me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using Microsoft Surface in the Real World, part I by Vaibhav</title>
		<link>http://stuff.seans.com/2012/10/31/using-microsoft-surface-in-the-real-world-part-i/#comment-1966</link>
		<dc:creator><![CDATA[Vaibhav]]></dc:creator>
		<pubDate>Tue, 20 Nov 2012 21:16:22 +0000</pubDate>
		<guid isPermaLink="false">http://stuff.seans.com/?p=1913#comment-1966</guid>
		<description><![CDATA[BTW, the usable space on the 32 GB version of the Surface RT is actually only around 16 GB. The rest is taken by the OS and the Apps pre-installed.]]></description>
		<content:encoded><![CDATA[<p>BTW, the usable space on the 32 GB version of the Surface RT is actually only around 16 GB. The rest is taken by the OS and the Apps pre-installed.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
