<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" media="screen" href="/App_Themes/default/rss.xslt"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" 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:media="http://search.yahoo.com/mrss/" xmlns:evnet="http://www.mscommunities.com/rssmodule/"><channel><title>Entries for gaelhatchue</title><atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/niners/gaelhatchue/rss/default.aspx" /><image><url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url><title>Entries for gaelhatchue</title><link>http://channel9.msdn.com/Niners/gaelhatchue/</link></image><description>Entries, comments and threads posted by gaelhatchue</description><link>http://channel9.msdn.com/Niners/gaelhatchue/</link><language>en-us</language><pubDate>Fri, 07 Mar 2008 18:45:05 GMT</pubDate><lastBuildDate>Fri, 07 Mar 2008 18:45:05 GMT</lastBuildDate><generator>EvNet (EvNet, Version=1.0.3608.3122, Culture=neutral, PublicKeyToken=null)</generator><item><title>IE8 Beta1 breaks WPF 3.5 (Vista &amp;amp; XP) [IE8 Beta1 breaks WPF 3.5 (Vista &amp;amp; XP)]</title><description>&lt;P&gt;After installing IE8 Beta 1, WPF can no longer display images that have a web URI.&lt;/P&gt;
&lt;P&gt;I un-installed IE8, it fixed the problem, re-installed it and the problem showed up again.&lt;/P&gt;
&lt;P&gt;Here is a test program that illustrates the problem:&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void Window_Loaded(object sender, RoutedEventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BitmapImage bitmap = new BitmapImage();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmap.BeginInit();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmap.UriSource = new Uri(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&lt;a href="http://www.microsoft.com/presspass/images/gallery/logos/web/mslogo-1.jpg"&gt;http://www.microsoft.com/presspass/images/gallery/logos/web/mslogo-1.jpg&lt;/a&gt;",&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UriKind.Absolute);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmap.EndInit();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Image img = new Image();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; img.Source = bitmap;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid.Children.Add(img);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(string.Format("{0}\r\n\r\n{1}", ex.Message, ex.StackTrace));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Here are some details on the exception that is thrown at bitmap.EndInit():&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;ex.Message&lt;/STRONG&gt;&lt;BR&gt;Value does not fall within the expected rage.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;ex.StackTrace&lt;BR&gt;&lt;/STRONG&gt;at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)&lt;BR&gt;&lt;BR&gt;at MS.Win32.WinInet.get_InternetCacheFolder()&lt;BR&gt;&lt;BR&gt;at System.Windows.Media.Imaging.BitmapDownload.BeginDownload(&lt;BR&gt;&amp;nbsp;&amp;nbsp; BitmapDecoder decoder, Uri uri, RequestCachePolicy uriCachePolicy, Stream stream)&lt;BR&gt;&lt;BR&gt;at System.Windows.Media.Imaging.LateBoundBitmapDecoder..ctor(&lt;BR&gt;&amp;nbsp;&amp;nbsp; Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, &lt;BR&gt;&amp;nbsp;&amp;nbsp; BitmapCacheOption cacheOption, RequestCachePolicy requestCachePolicy)&lt;BR&gt;&lt;BR&gt;at System.Windows.Media.Imaging.BitmapDecoder.CreateFromUriOrStream(&lt;BR&gt;&amp;nbsp;&amp;nbsp; Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, &lt;BR&gt;&amp;nbsp;&amp;nbsp; BitmapCacheOption cacheOption, RequestCachePolicy uriCachePolicy, &lt;BR&gt;&amp;nbsp;&amp;nbsp; Boolean insertInDecoderCache)&lt;BR&gt;&lt;BR&gt;at System.Windows.Media.Imaging.BitmapImage.FinalizeCreation()&lt;BR&gt;&lt;BR&gt;at System.Windows.Media.Imaging.BitmapImage.EndInit()&lt;BR&gt;&lt;BR&gt;at WpfApplication5.Window1.Window_Loaded(Object sender, RoutedEventArgs e) &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Here are a few "high level" things I tried to do to fix the problem:&lt;BR&gt;- Changing the UriCachePolicy of the BitmapImage: none of the RequestCacheLevel enumeration values was able to fix the problem.&lt;BR&gt;- Deleting the IE Cache: no luck here&lt;BR&gt;- Running the test Program as Admin: no luck either&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;The next thing I did was setting up the .NET Framework Source Code Debugging (&lt;a href="http://www.hanselman.com/blog/NETFrameworkLibrarySourceCodeAvailableForViewing.aspx"&gt;link&lt;/a&gt;):&lt;BR&gt;&lt;BR&gt;I stepped into the code from the bitmap.EndInit() call to the MS.Win32.WinInet.get_InternetCacheFolder() call, I found that the problem occurs in the native calls to GetUrlCacheConfigInfo, which is located in &lt;STRONG&gt;wininet.dll&lt;/STRONG&gt;. This DLL fails to return the internet cache folder properly.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal static Uri InternetCacheFolder&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [SecurityCritical]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // copied value 260 from orginal implementation in BitmapDownload.cs &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const int maxPathSize = 260; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const UInt32 fieldControl = (UInt32)maxPathSize;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NativeMethods.InternetCacheConfigInfo icci =&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new NativeMethods.InternetCacheConfigInfo();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; icci.CachePath = new string(new char[maxPathSize]); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UInt32 size = (UInt32)Marshal.SizeOf(icci);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool passed = UnsafeNativeMethods.GetUrlCacheConfigInfo( &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ref icci, &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ref size,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldControl); &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!passed)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int hr = Marshal.GetHRForLastWin32Error(); &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (hr != 0) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Marshal.ThrowExceptionForHR(hr);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new Uri(icci.CachePath);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;I checked the version number of this DLL, and it matches IE8 Beta1's version number: 8.0.6001.17184&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Now that I know the problem is not in WPF itself, I would like to know if XP users are having the same problem. You could simply create a simple wpf program like my test program, or xaml like this:&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;Window x:Class="WpfApplication5.Window1"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation&lt;/a&gt;"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:x="&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml"&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/a&gt;"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Title="Window1" Height="300" Width="300" Loaded="Window_Loaded"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Grid Name="grid"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Image Source="&lt;a href="http://www.microsoft.com/presspass/images/gallery/logos/web/mslogo-1.jpg%22/"&gt;http://www.microsoft.com/presspass/images/gallery/logos/web/mslogo-1.jpg"/&lt;/a&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Grid&amp;gt;&lt;BR&gt;&amp;lt;/Window&amp;gt;&lt;BR&gt;&lt;/P&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/TechOff/261530-IE8-Beta1-breaks-WPF-35-Vista-amp-XP/'&gt;IE8 Beta1 breaks WPF 3.5 (Vista &amp;amp; XP)&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/261530/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/TechOff/261530-IE8-Beta1-breaks-WPF-35-Vista-amp-XP/</comments><link>http://channel9.msdn.com/forums/TechOff/261530-IE8-Beta1-breaks-WPF-35-Vista-amp-XP/</link><pubDate>Fri, 07 Mar 2008 18:45:05 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/TechOff/261530-IE8-Beta1-breaks-WPF-35-Vista-amp-XP/</guid><evnet:views>2751</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/261530/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;P&gt;After installing IE8 Beta 1, WPF can no longer display images that have a web URI.&lt;/P&gt;
&lt;P&gt;I un-installed IE8, it fixed the problem, re-installed it and the problem showed up again.&lt;/P&gt;
&lt;P&gt;Here is a test program that illustrates the problem:&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void Window_Loaded(object sender, RoutedEventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/TechOff/261530-IE8-Beta1-breaks-WPF-35-Vista-amp-XP/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/261530/Trackback.aspx</trackback:ping></item><item><title>LiveZoom for Windows Vista [LiveZoom for Windows Vista]</title><description>&lt;img src="http://channel9.msdn.com/Link/107b933a-2dc0-4e19-abdf-ec06785d3a6d/" border="0" /&gt;&lt;P&gt;I love &lt;a target="_blank" href="http://blogs.technet.com/markrussinovich/"&gt;Mark Russinovich's&lt;/a&gt; &lt;a target="_blank" href="http://www.microsoft.com/technet/sysinternals/utilities/zoomit.mspx"&gt;ZoomIt &lt;/a&gt;tool, which &lt;a target="_blank" href="http://www.hanselman.com/blog/TheUltimateZoomToolSysinternalsZoomIt.aspx"&gt;one of the best &lt;/a&gt;zoom utilities for Windows.&lt;BR&gt;&lt;BR&gt;I wanted to see if I could use Vista's DWM&amp;nbsp;API to build a similar utility, with the addition of live window updates, so I put together this small program (372 lines).&lt;BR&gt;&lt;BR&gt;The keyboard shortcut to activate is &lt;STRONG&gt;Ctrl&lt;/STRONG&gt;+&lt;STRONG&gt;~&lt;/STRONG&gt;&lt;BR&gt;Use the mouse wheel of up/down arrows to zoom in/out.&lt;BR&gt;&lt;BR&gt;Some feedback would be apreciated.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Edit&lt;/STRONG&gt;: Source Code added to zip file.&lt;/P&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/playground/Sandbox/256642-LiveZoom-for-Windows-Vista/'&gt;LiveZoom for Windows Vista&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/256642/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/playground/Sandbox/256642-LiveZoom-for-Windows-Vista/</comments><link>http://channel9.msdn.com/playground/Sandbox/256642-LiveZoom-for-Windows-Vista/</link><pubDate>Sun, 29 Jul 2007 23:49:32 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/playground/Sandbox/256642-LiveZoom-for-Windows-Vista/</guid><evnet:views>3616</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/256642/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I love Mark Russinovich's ZoomIt tool, which one of the best zoom utilities for Windows.I wanted to see if I could use Vista's DWM&amp;nbsp;API to build a similar utility, with the addition of live window updates, so I put together this small program (372 lines).The keyboard shortcut to activate is&amp;#8230;</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/ff2388cf-4c4b-417a-a036-388e2d5eb775/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/107b933a-2dc0-4e19-abdf-ec06785d3a6d/" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/4/6/6/5/2/330257_LiveZoom.zip" expression="full" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/4/6/6/5/2/330257.jpg" expression="full" type="image/jpeg" medium="image" /></media:group><dc:creator>gaelhatchue</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://channel9.msdn.com/playground/Sandbox/256642-LiveZoom-for-Windows-Vista/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/256642/Trackback.aspx</trackback:ping></item><item><title>How to cancel overlapped socket IO in Windows CE [How to cancel overlapped socket IO in Windows CE]</title><description>&lt;P&gt;I would like to cancel an overlapped IO operation on a socket without having to close the socket or exit the thread that initiated the IO. &lt;BR&gt;&lt;BR&gt;Unfortunately, the CancelIo function is not supported in windows CE. &lt;BR&gt;&lt;BR&gt;Any ideas?&lt;/P&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/TechOff/255959-How-to-cancel-overlapped-socket-IO-in-Windows-CE/'&gt;How to cancel overlapped socket IO in Windows CE&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/255959/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/TechOff/255959-How-to-cancel-overlapped-socket-IO-in-Windows-CE/</comments><link>http://channel9.msdn.com/forums/TechOff/255959-How-to-cancel-overlapped-socket-IO-in-Windows-CE/</link><pubDate>Tue, 03 Jul 2007 20:07:42 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/TechOff/255959-How-to-cancel-overlapped-socket-IO-in-Windows-CE/</guid><evnet:views>1612</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/255959/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;P&gt;I would like to cancel an overlapped IO operation on a socket without having to close the socket or exit the thread that initiated the IO. &lt;BR&gt;&lt;BR&gt;Unfortunately, the CancelIo function is not supported in windows CE. &lt;BR&gt;&lt;BR&gt;Any ideas?&lt;/P&gt;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/TechOff/255959-How-to-cancel-overlapped-socket-IO-in-Windows-CE/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/255959/Trackback.aspx</trackback:ping></item><item><title>Photosynth Tech Preview is live!!! [Photosynth Tech Preview is live!!!]</title><description>It looks great.&lt;a href="http://labs.live.com/photosynth/view.html?collection=sanmarco/index1.sxs"&gt;&lt;BR&gt;&lt;BR&gt;Try it out.&lt;/a&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Edit: There are &lt;a href="http://labs.live.com/photosynth/collectionHome.htm"&gt;four collections &lt;/a&gt;currently available.&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/249799-Photosynth-Tech-Preview-is-live/'&gt;Photosynth Tech Preview is live!!!&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/249799/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/249799-Photosynth-Tech-Preview-is-live/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/249799-Photosynth-Tech-Preview-is-live/</link><pubDate>Thu, 09 Nov 2006 22:12:36 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/249799-Photosynth-Tech-Preview-is-live/</guid><evnet:views>16630</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/249799/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>It looks great.&lt;a href="http://labs.live.com/photosynth/view.html?collection=sanmarco/index1.sxs"&gt;&lt;BR&gt;&lt;BR&gt;Try it out.&lt;/a&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Edit: There are &lt;a href="http://labs.live.com/photosynth/collectionHome.htm"&gt;four collections &lt;/a&gt;currently available.</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>29</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/249799-Photosynth-Tech-Preview-is-live/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/249799/Trackback.aspx</trackback:ping></item><item><title>Maze Solver [Maze Solver]</title><description>The first version of this app was in 3D, written 2 years ago in managed directx.&amp;nbsp; Those APIs change so much that my app won't even compile anymore with the current DX SDK.&lt;BR&gt;&lt;BR&gt;I wanted to stay away from DirectX, so I rebuilt this app using GDI. You will notice that the graphics are not exactly very good looking, because the app uses integer coordinates for all the drawings.&lt;BR&gt;&lt;BR&gt;The algorithm.h is optimized for space, since the code in that file runs in an 8-bit microcontroller. The algorithm uses less than 1K of RAM. I could could have written it to use 5 times less memory, But I made some tradeoff between algorithm quality and space.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;I am rebuilding the app to learn WPF (back to 3D again)&lt;BR&gt;&lt;a target="_blank" href="http://img124.imageshack.us/img124/4797/wpfmicromousestudioit1.png"&gt;Here &lt;/a&gt;is what it looks like so far.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/playground/Sandbox/224350-Maze-Solver/'&gt;Maze Solver&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/224350/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/playground/Sandbox/224350-Maze-Solver/</comments><link>http://channel9.msdn.com/playground/Sandbox/224350-Maze-Solver/</link><pubDate>Fri, 25 Aug 2006 17:32:58 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/playground/Sandbox/224350-Maze-Solver/</guid><evnet:views>3385</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/224350/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>The first version of this app was in 3D, written 2 years ago in managed directx.&amp;nbsp; Those APIs change so much that my app won't even compile anymore with the current DX SDK.I wanted to stay away from DirectX, so I rebuilt this app using GDI. You will notice that the graphics are not exactly very&amp;#8230;</evnet:previewtext><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/5/3/4/2/2/229597_Maze Solver.zip" expression="full" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/5/3/4/2/2/229597.jpg" expression="full" type="image/jpeg" medium="image" /></media:group><dc:creator>gaelhatchue</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/playground/Sandbox/224350-Maze-Solver/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/224350/Trackback.aspx</trackback:ping></item><item><title>Funny (but massive) Vista beta 2 Bug/Crash [Funny (but massive) Vista beta 2 Bug/Crash]</title><description>Save all your documents before doing this, if you want to try it; otherwise, it's notnna look so funny.&lt;BR&gt;&lt;BR&gt;Assuming that you have Windows Powershell installed, do the following:&lt;BR&gt;&lt;BR&gt;; change to the windows root drive&lt;BR&gt;&lt;STRONG&gt;cd c:/&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;; Boooommm&lt;BR&gt;&lt;STRONG&gt;more BOOTSECT.BAK&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;Your machine will immediately shutdown/turn off (less than 0.1 sec).&lt;BR&gt;My dell laptop even makes a weird sound after turning off.&lt;BR&gt;&lt;BR&gt;I don't know if this is a powershell bug or a Vista bug. Doing the same thing using the old cmd.exe doesnt crash the system.&lt;BR&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/203796-Funny-but-massive-Vista-beta-2-BugCrash/'&gt;Funny (but massive) Vista beta 2 Bug/Crash&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/203796/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/203796-Funny-but-massive-Vista-beta-2-BugCrash/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/203796-Funny-but-massive-Vista-beta-2-BugCrash/</link><pubDate>Mon, 26 Jun 2006 14:41:11 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/203796-Funny-but-massive-Vista-beta-2-BugCrash/</guid><evnet:views>5982</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/203796/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Save all your documents before doing this, if you want to try it; otherwise, it's notnna look so funny.&lt;BR&gt;&lt;BR&gt;Assuming that you have Windows Powershell installed, do the following:&lt;BR&gt;&lt;BR&gt;; change to the windows root drive&lt;BR&gt;&lt;STRONG&gt;cd c:/&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;; Boooommm&lt;BR&gt;&lt;STRONG&gt;more BOOTSECT.BAK&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;Your machine will immediately shutdown/turn off (less than 0.1 sec).&lt;BR&gt;My dell laptop even makes a weird sound after turning off.&lt;BR&gt;&lt;BR&gt;I don't know if this is a powershell bug or a Vista bug. Doing the same thing using the old cmd.exe doesnt crash the system.&lt;BR&gt;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/203796-Funny-but-massive-Vista-beta-2-BugCrash/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/203796/Trackback.aspx</trackback:ping></item><item><title>Spot the bug!! [Spot the bug!!]</title><description>&lt;SPAN&gt;The following sample is taken from the &lt;a href="http://dev.mysql.com/doc/connector/j/en/cj-general-j2ee-concepts.html"&gt;documentation &lt;/a&gt;of Connector/J, the jdbc driver for mysql&lt;BR&gt;&lt;BR&gt;[code language="c#"]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitialContext ctx = new InitialContext();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/MySQLDB");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connection conn = null;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Statement stmt = null;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conn = ds.getConnection();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stmt = conn.createStatement();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stmt.execute("SOME SQL QUERY");&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stmt.close();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stmt = null;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conn.close();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conn = null;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } finally {&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (stmt != null) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stmt.close();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (sqlexception sqlex) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ignore -- as we can't do anything about it here&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stmt = null;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (conn != null) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conn.close();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (sqlexception sqlex) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ignore -- as we can't do anything about it here&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conn = null;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;[/code]&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/TechOff/146450-Spot-the-bug/'&gt;Spot the bug!!&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/146450/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/TechOff/146450-Spot-the-bug/</comments><link>http://channel9.msdn.com/forums/TechOff/146450-Spot-the-bug/</link><pubDate>Fri, 30 Dec 2005 01:15:40 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/TechOff/146450-Spot-the-bug/</guid><evnet:views>3704</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/146450/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;SPAN&gt;The following sample is taken from the &lt;a href="http://dev.mysql.com/doc/connector/j/en/cj-general-j2ee-concepts.html"&gt;documentation &lt;/a&gt;of Connector/J, the jdbc driver for mysql&lt;BR&gt;&lt;BR&gt;[code language="c#"]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitialContext ctx = new InitialContext();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/MySQLDB");&lt;BR&gt;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/TechOff/146450-Spot-the-bug/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/146450/Trackback.aspx</trackback:ping></item><item><title>How to Determine if two handles refer to the same object [How to Determine if two handles refer to the same object]</title><description>&lt;P&gt;Here is the scenario:&lt;BR&gt;&lt;BR&gt;[code language="c++"]&lt;BR&gt;HANDLE hHandle1 = CreateThread(...);&lt;BR&gt;[/code]&lt;BR&gt;&lt;BR&gt;now, at some point in the program, you want to know if the current thread is the same as the thread pointed to by hHandle1.&lt;BR&gt;&lt;BR&gt;So, you do&lt;BR&gt;[code language="c++"]&lt;BR&gt;HANDLE hHandle2;&lt;BR&gt;DuplicateHandle(GetCurrentProcess(), GetCurrentThread(), GetCurrentProcess(), &amp;amp;hHandle2, 0, FALSE, DUPLICATE_SAME_ACCESS);&lt;BR&gt;[/code]&lt;BR&gt;&lt;BR&gt;The problem is that you end up having two different handles that might refer to the same thread.&lt;BR&gt;&lt;BR&gt;Is there a way to determine if they both do refer to the same thread?&lt;BR&gt;&lt;BR&gt;I tried getting the thread Ids from both handles and compare them. But they are different, event when I know the two handles refer to the same thread.&lt;BR&gt;&lt;BR&gt;Is there&amp;nbsp;a user mode function similar to the kernel mode function ObReferenceObjectByHandle(); This KM function returns the same pointer for both handles.&lt;/P&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/TechOff/143923-How-to-Determine-if-two-handles-refer-to-the-same-object/'&gt;How to Determine if two handles refer to the same object&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/143923/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/TechOff/143923-How-to-Determine-if-two-handles-refer-to-the-same-object/</comments><link>http://channel9.msdn.com/forums/TechOff/143923-How-to-Determine-if-two-handles-refer-to-the-same-object/</link><pubDate>Tue, 20 Dec 2005 01:51:59 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/TechOff/143923-How-to-Determine-if-two-handles-refer-to-the-same-object/</guid><evnet:views>4264</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/143923/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;P&gt;Here is the scenario:&lt;BR&gt;&lt;BR&gt;&lt;pre class="code"&gt;&amp;lt;BR&amp;gt;HANDLE hHandle1 = CreateThread(...);&amp;lt;BR&amp;gt;&lt;/pre&gt;&lt;BR&gt;&lt;BR&gt;now, at some point in the program, you want to know if the current thread is the same as the thread pointed to by hHandle1.&lt;BR&gt;&lt;BR&gt;So, you do&lt;BR&gt;&lt;pre class="code"&gt;&amp;lt;BR&amp;gt;HANDLE hHandle2;&amp;lt;BR&amp;gt;DuplicateHandle(GetCurrentProcess(), GetCurrentThread(), GetCurrentProcess(), &amp;amp;hHandle2, 0, FALSE, DUPLICATE_SAME_ACCESS);&amp;lt;BR&amp;gt;&lt;/pre&gt;&lt;BR&gt;&lt;BR&gt;The problem is that you end up having two different handles that might refer to the same thread.&lt;BR&gt;&lt;BR&gt;Is there a way to determine if they both do refer to the same thread?&lt;BR&gt;&lt;BR&gt;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/TechOff/143923-How-to-Determine-if-two-handles-refer-to-the-same-object/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/143923/Trackback.aspx</trackback:ping></item><item><title>Dell Recalls 35,000 Defective Laptop Batteries [Dell Recalls 35,000 Defective Laptop Batteries]</title><description>I just thought I should let know Dell Laptop owners of this.&lt;BR&gt;&lt;BR&gt;&lt;BLOCKQUOTE&gt;&lt;div class="quoteAuthor"&gt;TechWeb News wrote:&lt;/div&gt;&lt;div class="quoteBody"&gt;&lt;BR&gt;Dell on Friday recalled approximately 35,000 batteries in several laptop models, saying that the faulty units could overheat and start fires. 
&lt;P&gt;The bad &lt;a href="http://www.techweb.com/encyclopedia/defineterm.jhtml?term=batteries" target=_blank&gt;batteries&lt;/A&gt; were sold from Oct. 5, 2004, through Oct. 13, 2005, said Dell, which issued the recall in cooperation with the U.S. Consumer Product Safety Commission. The batteries were sold separately or included with a wide swath of Dell's Latitude and Inspiron &lt;A href="http://www.techweb.com/encyclopedia/defineterm.jhtml?term=laptopcomputer" target=_blank&gt;laptop lines,&lt;/A&gt; ranging from the Inspiron 600m and XPS Gen 2 to the Latitude D410 and D810. 
&lt;P&gt;The Round Rock, Tex.-based computer maker said it had three reports of batteries overheating, with subsequent fires causing minor damage to tabletops, desktops, and other personal effects. No one has been injured by hot laptops or the fires they caused, Dell added. 
&lt;P&gt;Users can check to see if their Latitude or Inspiron notebook's battery is on the recall list by calling Dell or visiting its &lt;A href="https://www.dellbatteryprogram.com/Default.aspx" target=_blank&gt;Web site.&lt;/A&gt; Free replacements will be shipped to users with affected batteries.&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;BR&gt;&lt;BR&gt;Edit: &lt;A href="http://www1.us.dell.com/content/topics/global.aspx/corp/pressoffice/en/2005/2005_12_16_dc_000?c=us&amp;amp;cs=04&amp;amp;l=en&amp;amp;s=bsd"&gt;Here &lt;/a&gt;is the official press release from Dell, explaining the problem with the defective batteries.&lt;BR&gt;&lt;BR&gt;You can see a list of models subject to recall &lt;a href="https://www.dellbatteryprogram.com/Default.aspx"&gt;here&lt;/a&gt;.&lt;BR&gt;&lt;BR&gt;My batterie model is not in that list. It is actually close to one model in the list (C5447, close to C5446). I called DELL anyway, and they are sending me a new batterie. I will receive it within 2 business days.&lt;/P&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/143915-Dell-Recalls-35000-Defective-Laptop-Batteries/'&gt;Dell Recalls 35,000 Defective Laptop Batteries&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/143915/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/143915-Dell-Recalls-35000-Defective-Laptop-Batteries/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/143915-Dell-Recalls-35000-Defective-Laptop-Batteries/</link><pubDate>Tue, 20 Dec 2005 01:08:05 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/143915-Dell-Recalls-35000-Defective-Laptop-Batteries/</guid><evnet:views>9881</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/143915/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I just thought I should let know Dell Laptop owners of this.TechWeb News wrote:Dell on Friday recalled approximately 35,000 batteries in several laptop models, saying that the faulty units could overheat and start fires. 
The bad batteries were sold from Oct. 5, 2004, through Oct. 13, 2005, said Dell, which issued the recall in cooperation with the U.S. Consumer Product Safety Commission. The batteries were sold separately or included with a wide swath of Dell's Latitude and Inspiron laptop lines, ranging from the Inspiron 600m and XPS Gen 2 to the Latitude D410 and D810. 
The Round Rock,&amp;#8230;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/143915-Dell-Recalls-35000-Defective-Laptop-Batteries/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/143915/Trackback.aspx</trackback:ping></item><item><title>Best promotional video I've seen in a long time [Best promotional video I've seen in a long time]</title><description>&lt;P&gt;The video is promoting a &lt;a href="http://www.thedavincieffect.com"&gt;new line &lt;/a&gt;of Video DSP (digital signal processing) chips from TI (Texas Instruments).&lt;BR&gt;&lt;a href="http://www.ti.com/corp/docs/landing/davinci/videos/spirit.wmv"&gt;&lt;BR&gt;http://www.ti.com/corp/docs/landing/davinci/videos/spirit.wmv&lt;/a&gt;&lt;BR&gt;&lt;BR&gt;If only the Eval. Module were more affordable, I could try it out. Right now, it is just under $2,000 I think. The nice thing is that the chip runs &lt;a href="http://www.mvista.com/"&gt;Monta&lt;STRONG&gt;Vista&lt;/STRONG&gt; linux&lt;/a&gt;. This distrib is also supported by TI when you purchase the Eval. module (board + ccd video sensor + montavista linux + gcc toolchain + LCD screen for playing back video + more goodies).&lt;BR&gt;&lt;BR&gt;Too bad the DaVinci Evaluation Module&amp;nbsp;is too expensive. &lt;BR&gt;&lt;BR&gt;I guess I will stick with &lt;a href="http://www.analog.com/processors/processors/blackfin/"&gt;the Blackfin DSP chips &lt;/a&gt;that run &lt;a href="http://uclinux.org/"&gt;uClinux&lt;/a&gt;. The &lt;a href="http://blackfin.uclinux.org/projects/stamp/"&gt;eval modules &lt;/a&gt;for this board are much more affordable (~$200).&lt;/P&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/141510-Best-promotional-video-Ive-seen-in-a-long-time/'&gt;Best promotional video I've seen in a long time&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/141510/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/141510-Best-promotional-video-Ive-seen-in-a-long-time/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/141510-Best-promotional-video-Ive-seen-in-a-long-time/</link><pubDate>Mon, 12 Dec 2005 23:52:44 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/141510-Best-promotional-video-Ive-seen-in-a-long-time/</guid><evnet:views>5874</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/141510/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>The video is promoting a new line of Video DSP (digital signal processing) chips from TI (Texas Instruments).http://www.ti.com/corp/docs/landing/davinci/videos/spirit.wmvIf only the Eval. Module were more affordable, I could try it out. Right now, it is just under $2,000 I think. The nice thing is that the chip runs MontaVista linux. This distrib is also supported by TI when you purchase the Eval. module (board + ccd video sensor + montavista linux + gcc toolchain + LCD screen for playing back video + more goodies).Too bad the DaVinci Evaluation Module&amp;nbsp;is too expensive. I guess I will&amp;#8230;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/141510-Best-promotional-video-Ive-seen-in-a-long-time/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/141510/Trackback.aspx</trackback:ping></item><item><title>Live Mail beta [Live Mail beta]</title><description>I just got my invitation to the live mail beta program. I clicked on the link to join, and everything went well. But I don't see the new mail app anywhere. i did notice that the size of my mailbox is now 2GB. But I have no idea how to turn on the new UI and functionality.&lt;BR&gt;&lt;BR&gt;Any ideas?&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/TechOff/139546-Live-Mail-beta/'&gt;Live Mail beta&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/139546/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/TechOff/139546-Live-Mail-beta/</comments><link>http://channel9.msdn.com/forums/TechOff/139546-Live-Mail-beta/</link><pubDate>Tue, 06 Dec 2005 04:12:19 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/TechOff/139546-Live-Mail-beta/</guid><evnet:views>23149</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/139546/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I just got my invitation to the live mail beta program. I clicked on the link to join, and everything went well. But I don't see the new mail app anywhere. i did notice that the size of my mailbox is now 2GB. But I have no idea how to turn on the new UI and functionality.&lt;BR&gt;&lt;BR&gt;Any ideas?</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>23</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/TechOff/139546-Live-Mail-beta/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/139546/Trackback.aspx</trackback:ping></item><item><title>IBM Releases Cell SDK [IBM Releases Cell SDK]</title><description>I think the PS3 hardcore guys are going to be happy &lt;a href="http://www-128.ibm.com/developerworks/power/library/pa-cellstartsim/"&gt;with this&lt;/a&gt;.&lt;BR&gt;&lt;BR&gt;&lt;BLOCKQUOTE&gt;&lt;div class="quoteAuthor"&gt;IBM wrote:&lt;/div&gt;&lt;div class="quoteBody"&gt;&lt;BR&gt;The minimum system requirements for running the CBE programming environment are roughly:&lt;BR&gt;
&lt;LI&gt;Processor: x86 or x86-64; anything under 2GHz or so will be slow to the point of being unusable. 
&lt;LI&gt;Storage: At least 5GB of available disk space 
&lt;LI&gt;Memory: At least 1GB of RAM &lt;/LI&gt;
&lt;P&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/131662-IBM-Releases-Cell-SDK/'&gt;IBM Releases Cell SDK&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/131662/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/131662-IBM-Releases-Cell-SDK/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/131662-IBM-Releases-Cell-SDK/</link><pubDate>Thu, 10 Nov 2005 18:22:08 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/131662-IBM-Releases-Cell-SDK/</guid><evnet:views>1033</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/131662/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I think the PS3 hardcore guys are going to be happy &lt;a href="http://www-128.ibm.com/developerworks/power/library/pa-cellstartsim/"&gt;with this&lt;/a&gt;.&lt;BR&gt;&lt;BR&gt;&lt;BLOCKQUOTE&gt;&lt;div class="quoteAuthor"&gt;IBM wrote:&lt;/div&gt;&lt;div class="quoteBody"&gt;&lt;BR&gt;The minimum system requirements for running the CBE programming environment are roughly:&lt;BR&gt;
&lt;LI&gt;Processor: x86 or x86-64; anything under 2GHz or so will be slow to the point of being unusable. 
&lt;LI&gt;Storage: At least 5GB of available disk space 
&lt;LI&gt;Memory: At least 1GB of RAM &lt;/LI&gt;
&lt;P&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/131662-IBM-Releases-Cell-SDK/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/131662/Trackback.aspx</trackback:ping></item><item><title>Windows AntiSpyware Becomes Windows Defender [Windows AntiSpyware Becomes Windows Defender]</title><description>&lt;P&gt;Check out &lt;a href="http://www.windowsitpro.com/windowspaulthurrott/Article/ArticleID/48377/windowspaulthurrott_48377.html"&gt;this article &lt;/a&gt;by Paul Thurrott.&lt;BR&gt;&lt;BR&gt;&lt;BLOCKQUOTE&gt;&lt;div class="quoteAuthor"&gt;Paul Thurrott wrote:&lt;/div&gt;&lt;div class="quoteBody"&gt;&lt;BR&gt;.....&lt;BR&gt;According to a report in the "Seattle Post-Intelligencer," the Windows Defender name was already being used by an Australian developer, whose Windows Defender product is designed to protect Windows users from malicious Web sites. The developer, Adam Lyttle, told the Seattle P-I's Todd Bishop that Microsoft contacted him a month ago, charging him with infringing on the Windows trademark, but neglecting to mention that the threat came because they wanted the product name. Lyttle subsequently signed over rights to the Windows Defender name to Microsoft and was "shocked" when he later learned they intended to use the name in their own product.&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;BR&gt;&lt;/P&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/131000-Windows-AntiSpyware-Becomes-Windows-Defender/'&gt;Windows AntiSpyware Becomes Windows Defender&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/131000/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/131000-Windows-AntiSpyware-Becomes-Windows-Defender/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/131000-Windows-AntiSpyware-Becomes-Windows-Defender/</link><pubDate>Tue, 08 Nov 2005 19:36:57 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/131000-Windows-AntiSpyware-Becomes-Windows-Defender/</guid><evnet:views>14285</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/131000/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Check out this article by Paul Thurrott.Paul Thurrott wrote:.....According to a report in the "Seattle Post-Intelligencer," the Windows Defender name was already being used by an Australian developer, whose Windows Defender product is designed to protect Windows users from malicious Web sites. The developer, Adam Lyttle, told the Seattle P-I's Todd Bishop that Microsoft contacted him a month ago, charging him with infringing on the Windows trademark, but neglecting to mention that the threat came because they wanted the product name. Lyttle subsequently signed over rights to the Windows&amp;#8230;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>37</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/131000-Windows-AntiSpyware-Becomes-Windows-Defender/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/131000/Trackback.aspx</trackback:ping></item><item><title>SPOT THE BUG !! [SPOT THE BUG !!]</title><description>&lt;P&gt;The application uses, say GDI for rendering some sort of animation.&lt;BR&gt;&lt;BR&gt;The application creates a refresh thread that is responsible for updating sprites, and sending (indirectly) a WM_PAINT message to update the client area of the window.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;[code language="c++"]&lt;BR&gt;BOOL bAnimate&amp;nbsp;= TRUE;&lt;BR&gt;HWND hWnd;&lt;BR&gt;&lt;BR&gt;HANDLE hRefreshThread;&lt;BR&gt;HANDLE hEvent;&lt;BR&gt;DWORD WINAPI RefreshProc(LPVOID);&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;int APIENTRY _tWinMain(...)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp; ...&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; DWORD dwThreadId, dwThreadParam = 1;&lt;BR&gt;&amp;nbsp;&amp;nbsp; hRefreshThread = CreateThread(NULL, 0, RefreshProc, &amp;amp;dwThreadParam, 0, &amp;amp;dwThreadId);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp; // Create an auto reset event&lt;BR&gt;&amp;nbsp;&amp;nbsp; hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;...&lt;BR&gt;&lt;BR&gt;LRESULT CALLBACK WndProc(...)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;switch(message)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;case WM_PAINT:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Draw stuff&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;SetEvent(hEvent);&lt;/STRONG&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;DWORD WINAPI RefreshProc(LPVOID lpParam)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;RECT rect;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetClientRect(hWnd, &amp;amp;rect);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;USES_CONVERSION;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;InvalidateRect(hWnd, &amp;amp;rect, FALSE);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(bAnimate)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Update sprites here&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DWORD dwResult = WaitForSingleEvent(hEvent, 5000L);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;switch(dwResult)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case WAIT_OBJECT_0:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InvalidateRect(hWnd, &amp;amp;rect, FALSE); break;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case WAIT_TIMEOUT:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBoxW(hWnd, A2W("Timeout"), A2W("Error"), 0);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return 1;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case WAIT_ABANDONED:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBoxW(hWnd, A2W("Abandoned"), A2W("Error"), 0);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return 1;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return 0;&lt;BR&gt;}&lt;BR&gt;[/code]&lt;/P&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/TechOff/121740-SPOT-THE-BUG-/'&gt;SPOT THE BUG !!&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/121740/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/TechOff/121740-SPOT-THE-BUG-/</comments><link>http://channel9.msdn.com/forums/TechOff/121740-SPOT-THE-BUG-/</link><pubDate>Sun, 09 Oct 2005 02:27:56 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/TechOff/121740-SPOT-THE-BUG-/</guid><evnet:views>4448</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/121740/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;P&gt;The application uses, say GDI for rendering some sort of animation.&lt;BR&gt;&lt;BR&gt;The application creates a refresh thread that is responsible for updating sprites, and sending (indirectly) a WM_PAINT message to update the client area of the window.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;[code language="c++"]&lt;BR&gt;BOOL bAnimate&amp;nbsp;= TRUE;&lt;BR&gt;HWND hWnd;&lt;BR&gt;&lt;BR&gt;HANDLE hRefreshThread;&lt;BR&gt;HANDLE hEvent;&lt;BR&gt;DWORD WINAPI RefreshProc(LPVOID);&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;int APIENTRY _tWinMain(...)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp; ...&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; DWORD dwThreadId, dwThreadParam = 1;&lt;BR&gt;&amp;nbsp;&amp;nbsp; hRefreshThread = CreateThread(NULL, 0, RefreshProc, &amp;amp;dwThreadParam, 0, &amp;amp;dwThreadId);&lt;BR&gt;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>9</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/TechOff/121740-SPOT-THE-BUG-/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/121740/Trackback.aspx</trackback:ping></item><item><title>Detailed Firefox and IE vulnerability report [Detailed Firefox and IE vulnerability report]</title><description>Check out this article:&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;&lt;a href="http://blogs.zdnet.com/Ou/index.php?p=108"&gt;Detailed Firefox and IE vulnerability report &lt;/a&gt;&lt;/STRONG&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/117889-Detailed-Firefox-and-IE-vulnerability-report/'&gt;Detailed Firefox and IE vulnerability report&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/117889/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/117889-Detailed-Firefox-and-IE-vulnerability-report/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/117889-Detailed-Firefox-and-IE-vulnerability-report/</link><pubDate>Tue, 27 Sep 2005 20:20:44 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/117889-Detailed-Firefox-and-IE-vulnerability-report/</guid><evnet:views>1314</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/117889/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Check out this article:&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;&lt;a href="http://blogs.zdnet.com/Ou/index.php?p=108"&gt;Detailed Firefox and IE vulnerability report &lt;/a&gt;&lt;/STRONG&gt;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/117889-Detailed-Firefox-and-IE-vulnerability-report/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/117889/Trackback.aspx</trackback:ping></item><item><title>Firefox woes spread to Linux [Firefox woes spread to Linux]</title><description>&lt;BLOCKQUOTE&gt;&lt;div class="quoteAuthor"&gt;ZDNet wrote:&lt;/div&gt;&lt;div class="quoteBody"&gt;&lt;BR&gt;
&lt;P&gt;When I saw all the headlines this week about a new &lt;a href="http://news.zdnet.com/2100-1009_22-5873273.html?tag=nl"&gt;Symantec report&lt;/a&gt; contradicting popular perception that Firefox was the secure alternative to Microsoft Internet Explorer, the timing couldn't have been better.&amp;nbsp; Just three days earlier, I wrote &lt;a href="http://blogs.zdnet.com/Ou/?p=103"&gt;this blog&lt;/a&gt; about Firefox surpassing Microsoft Internet Explorer in monthly vulnerabilities and a flood of angry comments followed in the &lt;a href="http://blogs.zdnet.com/Ou/?p=103#comments"&gt;talkback&lt;/a&gt; — and &lt;a href="http://it.slashdot.org/article.pl?sid=05/09/16/182232&amp;amp;threshold=-1&amp;amp;tid=154&amp;amp;tid=172"&gt;Slashdot&lt;/a&gt; had another 500 plus comments.&amp;nbsp; It was almost as if I violated one of the ten commandments of "thou shalt not speak ill of any Open Source application" even though I never drew any conclusions on which browser was less secure.&amp;nbsp; Predictably, the debate spilled into Windows bashing and some of the comments blamed the Firefox problems on Windows.&amp;nbsp; But even as the debated raged on, a new &lt;a href="http://secunia.com/advisories/16869/"&gt;extremely critical vulnerably for Firefox&lt;/a&gt; came to light and this time it only affected UNIX and Linux systems. 
&lt;P&gt;This new Firefox vulnerability is extremely dangerous because it's so easy to exploit and allows arbitrary code execution with zero user interaction.&amp;nbsp; All that is needed to exploit this vulnerability is a simple URL crafted to execute any shell command.&amp;nbsp; The details of the exploit have been publicly released so it would be wise to upgrade to the latest edition of Firefox immediately if you have Firefox.&lt;/P&gt;
&lt;P&gt;The year 2004 revived the browser wars with the entry of Mozilla Firefox.&amp;nbsp; While it can be debated until the end of time which browser is more secure, 2005 has shown us that Firefox is not the panacea it was made out to be.&amp;nbsp; &lt;STRONG&gt;Microsoft and Mozilla are at least doing what they can to fix the bugs and the browser we use doesn't matter as much as some make it out to be.&lt;/STRONG&gt;&amp;nbsp; The best thing we can do is to make sure we're not running Windows as an Administrator no matter which browser we use.&amp;nbsp; This may be a little hard before &lt;a href="http://blogs.zdnet.com/microsoftvistas/?p=33"&gt;Windows Vista UAP&lt;/a&gt; arrives because some applications break in user-mode, but even then there are &lt;a href="http://msdn.microsoft.com/security/securecode/columns/default.aspx?pull=/library/en-us/dncode/html/secure11152004.asp" target=_self&gt;alternatives like DropMyRights&lt;/A&gt; that allow you to individually neuter applications even when you're running as an Administrator.&amp;nbsp; Keep in mind that non-administrative mode only reduce the security issues so it's no substitute for staying up to date with security patches.&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;BR&gt;&lt;BR&gt;&lt;A href="http://blogs.zdnet.com/Ou/index.php?p=105"&gt;Source.&lt;/a&gt;&lt;BR&gt;Sorry if repost.&lt;/P&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/116149-Firefox-woes-spread-to-Linux/'&gt;Firefox woes spread to Linux&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/116149/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/116149-Firefox-woes-spread-to-Linux/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/116149-Firefox-woes-spread-to-Linux/</link><pubDate>Fri, 23 Sep 2005 19:46:42 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/116149-Firefox-woes-spread-to-Linux/</guid><evnet:views>9216</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/116149/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>ZDNet wrote:
When I saw all the headlines this week about a new Symantec report contradicting popular perception that Firefox was the secure alternative to Microsoft Internet Explorer, the timing couldn't have been better.&amp;nbsp; Just three days earlier, I wrote this blog about Firefox surpassing Microsoft Internet Explorer in monthly vulnerabilities and a flood of angry comments followed in the talkback — and Slashdot had another 500 plus comments.&amp;nbsp; It was almost as if I violated one of the ten commandments of "thou shalt not speak ill of any Open Source application" even though I never&amp;#8230;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>25</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/116149-Firefox-woes-spread-to-Linux/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/116149/Trackback.aspx</trackback:ping></item><item><title>Flash version of Windows Vista [Flash version of Windows Vista]</title><description>I just found this page. I couldn't stop laughing.:D:D&lt;BR&gt;&lt;BR&gt;&lt;a href="http://www.beaversit.com/temp/WindowsVista.html"&gt;http://www.beaversit.com/temp/WindowsVista.html&lt;/a&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/114134-Flash-version-of-Windows-Vista/'&gt;Flash version of Windows Vista&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/114134/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/114134-Flash-version-of-Windows-Vista/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/114134-Flash-version-of-Windows-Vista/</link><pubDate>Sun, 18 Sep 2005 16:46:47 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/114134-Flash-version-of-Windows-Vista/</guid><evnet:views>2162</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/114134/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I just found this page. I couldn't stop laughing.&lt;img src='/emoticons/C9/emotion-2.gif' alt='Big Smile' /&gt;:D&lt;BR&gt;&lt;BR&gt;&lt;a href="http://www.beaversit.com/temp/WindowsVista.html"&gt;http://www.beaversit.com/temp/WindowsVista.html&lt;/a&gt;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/114134-Flash-version-of-Windows-Vista/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/114134/Trackback.aspx</trackback:ping></item><item><title>Alarm Clock [Alarm Clock]</title><description>I was tired of waking up late for school after late coding sessions. So, this little bad boy can wake&amp;nbsp;you up with a nice song. I just thought I'd share[H]. &lt;BR&gt;&lt;BR&gt;You could compile the code and save the exe under C:/AlamClock/, as it uses a simple data file (created automatically) in the same folder to remember your settings. You could then place a shortcut on your desktop to launch the app.&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/playground/Sandbox/112427/'&gt;Alarm Clock&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/112427/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/playground/Sandbox/112427/</comments><link>http://channel9.msdn.com/playground/Sandbox/112427/</link><pubDate>Thu, 15 Sep 2005 00:43:16 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/playground/Sandbox/112427/</guid><evnet:views>3895</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/112427/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I was tired of waking up late for school after late coding sessions. So, this little bad boy can wake&amp;nbsp;you up with a nice song. I just thought I'd share[H]. You could compile the code and save the exe under C:/AlamClock/, as it uses a simple data file (created automatically) in the same folder&amp;#8230;</evnet:previewtext><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/2/4/2/1/1/115663_AlarmClock.zip" expression="full" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/2/4/2/1/1/115663.jpg" expression="full" type="image/jpeg" medium="image" /></media:group><dc:creator>gaelhatchue</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/playground/Sandbox/112427/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/112427/Trackback.aspx</trackback:ping></item><item><title>What's the deal with System.Version [What's the deal with System.Version]</title><description>I am finishing up the virtual machine of a scripting language written in C#.&lt;BR&gt;So, here I am, trying to optimize the performance and making sure that there are no memory leaks. (I am using the CLR Profiler)&lt;BR&gt;&lt;BR&gt;The memory usage looks like&lt;BR&gt;&lt;BR&gt;1) System.String&lt;BR&gt;2) System.Version&lt;BR&gt;3) ....&lt;BR&gt;&lt;BR&gt;I can deal with System.String, and use the StringBuilder class to have better memory usage. So, what's the deal with System.Version? Do I have control over System.Version?&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/TechOff/108133-Whats-the-deal-with-SystemVersion/'&gt;What's the deal with System.Version&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/108133/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/TechOff/108133-Whats-the-deal-with-SystemVersion/</comments><link>http://channel9.msdn.com/forums/TechOff/108133-Whats-the-deal-with-SystemVersion/</link><pubDate>Wed, 07 Sep 2005 00:17:57 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/TechOff/108133-Whats-the-deal-with-SystemVersion/</guid><evnet:views>885</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/108133/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I am finishing up the virtual machine of a scripting language written in C#.&lt;BR&gt;So, here I am, trying to optimize the performance and making sure that there are no memory leaks. (I am using the CLR Profiler)&lt;BR&gt;&lt;BR&gt;The memory usage looks like&lt;BR&gt;&lt;BR&gt;1) System.String&lt;BR&gt;2) System.Version&lt;BR&gt;3) ....&lt;BR&gt;&lt;BR&gt;I can deal with System.String, and use the StringBuilder class to have better memory usage. So, what's the deal with System.Version? Do I have control over System.Version?</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/TechOff/108133-Whats-the-deal-with-SystemVersion/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/108133/Trackback.aspx</trackback:ping></item><item><title>What makes a good IDE? [What makes a good IDE?]</title><description>For me, a good IDE is an IDE that is fast and allows you to work at full speed. I enjoy VS2005 in emacs mode when I am programming in C/CPP/CS for example, but I am starting to get pissed off by the slowdowns and other annoying beta2 bugs.&lt;BR&gt;&lt;BR&gt;I have just started using &lt;a href="http://www.flos-freeware.ch/notepad2.html"&gt;notepad2&lt;/a&gt;, and I am working on a version of notepad2 that supports &lt;STRIKE&gt;all&lt;/STRIKE&gt; some common emacs kb keys.&lt;BR&gt;&lt;BR&gt;A lot of people use different IDE's. What IDE do you use? and for what reasons?&lt;BR&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/106446-What-makes-a-good-IDE/'&gt;What makes a good IDE?&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/106446/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/106446-What-makes-a-good-IDE/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/106446-What-makes-a-good-IDE/</link><pubDate>Fri, 02 Sep 2005 19:17:34 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/106446-What-makes-a-good-IDE/</guid><evnet:views>5899</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/106446/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>For me, a good IDE is an IDE that is fast and allows you to work at full speed. I enjoy VS2005 in emacs mode when I am programming in C/CPP/CS for example, but I am starting to get pissed off by the slowdowns and other annoying beta2 bugs.&lt;BR&gt;&lt;BR&gt;I have just started using &lt;a href="http://www.flos-freeware.ch/notepad2.html"&gt;notepad2&lt;/a&gt;, and I am working on a version of notepad2 that supports &lt;STRIKE&gt;all&lt;/STRIKE&gt; some common emacs kb keys.&lt;BR&gt;&lt;BR&gt;A lot of people use different IDE's. What IDE do you use? and for what reasons?&lt;BR&gt;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>11</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/106446-What-makes-a-good-IDE/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/106446/Trackback.aspx</trackback:ping></item><item><title>Bootloader for 8-bit microcontrollers [Bootloader for 8-bit microcontrollers]</title><description>I you are like me and enjoy programming 8-bit microcontrollers, this might interest you.&lt;BR&gt;The application targets the PIC18F and PIC16F series of microcontrollers from www.microchip.com&lt;BR&gt;&lt;BR&gt;It allows you to bootload your programs through RS232 link to the microcontroller, so you don't even need to unplug the device from your PCB thousands of times to change the firmware,&amp;nbsp;when you are developping a cutting edge app.&lt;BR&gt;&lt;BR&gt;It is very useful (at least for me :D)&lt;BR&gt;&lt;BR&gt;It is written in C++ using MFC.&lt;BR&gt;The zip file contains the full VS2003 source code, as well as a setup exe for installing the application.&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/playground/Sandbox/105907/'&gt;Bootloader for 8-bit microcontrollers&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/105907/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/playground/Sandbox/105907/</comments><link>http://channel9.msdn.com/playground/Sandbox/105907/</link><pubDate>Thu, 01 Sep 2005 20:33:24 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/playground/Sandbox/105907/</guid><evnet:views>4509</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/105907/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I you are like me and enjoy programming 8-bit microcontrollers, this might interest you.The application targets the PIC18F and PIC16F series of microcontrollers from www.microchip.comIt allows you to bootload your programs through RS232 link to the microcontroller, so you don't even need to unplug&amp;#8230;</evnet:previewtext><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/0/9/5/0/1/107861_uBOOT v2.10.zip" expression="full" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/0/9/5/0/1/107861.jpg" expression="full" type="image/jpeg" medium="image" /></media:group><dc:creator>gaelhatchue</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://channel9.msdn.com/playground/Sandbox/105907/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/105907/Trackback.aspx</trackback:ping></item><item><title>Massachusetts to adopt 'open' desktop [Massachusetts to adopt 'open' desktop]</title><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div class="quoteAuthor"&gt;CNET News wrote:&lt;/div&gt;&lt;div class="quoteBody"&gt;&lt;B&gt;The commonwealth of Massachusetts will phase out office productivity applications from Microsoft and other providers in favor of those based on "open" standards, including the recently approved OpenDocument standard.&lt;/B&gt; &lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;BR&gt;&lt;BR&gt;&lt;a href="http://news.zdnet.com/2100-3513_22-5845451.html?tag=zdfd.newsfeed"&gt;Full article here.&lt;/a&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;[Edit]&lt;BR&gt;&lt;BR&gt;1) Brian Jones' &lt;a href="http://blogs.msdn.com/brian_jones/archive/2005/08/31/458879.aspx"&gt;blog post on this&lt;/a&gt;&lt;BR&gt;&lt;BR&gt;2) &lt;a href="http://blogs.zdnet.com/BTL/index.php?p=1800"&gt;Counter-attack &lt;/a&gt;from a guy at zdnet&lt;/P&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/105824-Massachusetts-to-adopt-open-desktop/'&gt;Massachusetts to adopt 'open' desktop&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/105824/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/105824-Massachusetts-to-adopt-open-desktop/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/105824-Massachusetts-to-adopt-open-desktop/</link><pubDate>Thu, 01 Sep 2005 18:32:36 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/105824-Massachusetts-to-adopt-open-desktop/</guid><evnet:views>4874</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/105824/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div class="quoteAuthor"&gt;CNET News wrote:&lt;/div&gt;&lt;div class="quoteBody"&gt;&lt;B&gt;The commonwealth of Massachusetts will phase out office productivity applications from Microsoft and other providers in favor of those based on "open" standards, including the recently approved OpenDocument standard.&lt;/B&gt; &lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;BR&gt;&lt;BR&gt;&lt;a href="http://news.zdnet.com/2100-3513_22-5845451.html?tag=zdfd.newsfeed"&gt;Full article here.&lt;/a&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;[Edit]&lt;BR&gt;&lt;BR&gt;1) Brian Jones' &lt;a href="http://blogs.msdn.com/brian_jones/archive/2005/08/31/458879.aspx"&gt;blog post on this&lt;/a&gt;&lt;BR&gt;&lt;BR&gt;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>25</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/105824-Massachusetts-to-adopt-open-desktop/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/105824/Trackback.aspx</trackback:ping></item><item><title>Nice job C9 Team [Nice job C9 Team]</title><description>I love the new interface. Awesome.&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/102603-Nice-job-C9-Team/'&gt;Nice job C9 Team&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/102603/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/102603-Nice-job-C9-Team/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/102603-Nice-job-C9-Team/</link><pubDate>Fri, 26 Aug 2005 02:41:49 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/102603-Nice-job-C9-Team/</guid><evnet:views>2781</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/102603/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I love the new interface. Awesome.</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>13</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/102603-Nice-job-C9-Team/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/102603/Trackback.aspx</trackback:ping></item><item><title>ReaderWriterLock class [ReaderWriterLock class]</title><description>I find that the &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemThreadingReaderWriterLockClassTopic.asp"&gt;MSDN documentation&lt;/a&gt; of this class is confusing.&lt;BR&gt;&lt;BR&gt;I need to know how to use RWL to lock multiple ressources.&lt;BR&gt;&lt;BR&gt;The example in the MSDN doc. uses a static instance of the class, to protect a static resource. And there seems to be no link between the RWL class and the resource itself, so I assume that a single instance of this class can be used to lock all resources in&amp;nbsp;a single thread.&lt;BR&gt;&lt;BR&gt;I just took a look at the description of some public properties of this class:&lt;BR&gt;
&lt;TABLE class=memberListTable&gt;

&lt;TR&gt;
&lt;TD class=imageCell&gt;&amp;nbsp;&lt;/IMG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;a href="http://channel9.msdn.comms-help://MS.VSCC.v80/MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref/html/P_System_Threading_ReaderWriterLock_IsReaderLockHeld.htm&gt;IsReaderLockHeld&lt;/a&gt; &lt;/TD&gt;
&lt;TD&gt;Gets a value indicating whether the current thread holds a reader lock.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=imageCell&gt;&amp;nbsp;&lt;/IMG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;a href="http://channel9.msdn.comms-help://MS.VSCC.v80/MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref/html/P_System_Threading_ReaderWriterLock_IsWriterLockHeld.htm&gt;IsWriterLockHeld&lt;/a&gt; &lt;/TD&gt;
&lt;TD&gt;Gets a value indicating whether the current thread holds the writer lock.&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;The description seem to indicate that RWL instances are somehow binded to a thread. So, if I instanciate 2 RWL classes, and aquire a reader lock with one instance, the property IsReaderLockHeld should return true on the second instance.&lt;BR&gt;&lt;BR&gt;This doesn't seem to be the case. (I verified this with a simple console app).&lt;BR&gt;&lt;BR&gt;So, I just don't know how to use this class to lock multiple resources.&lt;BR&gt;&lt;BR&gt;I have a class&lt;BR&gt;&lt;BR&gt;public class Foo&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SomeRefType obj1;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SomeOtherRefType ob2;&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;I have a few instances of this class, and multiple threads that can write/read the fields obj1 and obj2 in these instances at anytime.&lt;BR&gt;&lt;BR&gt;So, how implement the locking mechanism using the ReaderWriterLock class?&lt;BR&gt;&lt;BR&gt;Do I declare a static instance of RWL in my Foo class to lock all objects???&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/TechOff/102185-ReaderWriterLock-class/'&gt;ReaderWriterLock class&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/102185/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/TechOff/102185-ReaderWriterLock-class/</comments><link>http://channel9.msdn.com/forums/TechOff/102185-ReaderWriterLock-class/</link><pubDate>Thu, 25 Aug 2005 03:55:45 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/TechOff/102185-ReaderWriterLock-class/</guid><evnet:views>1495</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/102185/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I find that the &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemThreadingReaderWriterLockClassTopic.asp"&gt;MSDN documentation&lt;/a&gt; of this class is confusing.&lt;BR&gt;&lt;BR&gt;I need to know how to use RWL to lock multiple ressources.&lt;BR&gt;&lt;BR&gt;The example in the MSDN doc. uses a static instance of the class, to protect a static resource. And there seems to be no link between the RWL class and the resource itself, so I assume that a single instance of this class can be used to lock all resources in&amp;nbsp;a single thread.&lt;BR&gt;&lt;BR&gt;I just took a look at the description of some public properties of this class:&lt;BR&gt;</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/TechOff/102185-ReaderWriterLock-class/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/102185/Trackback.aspx</trackback:ping></item><item><title>Generic hashtable [Generic hashtable]</title><description>Is there a generic hashtable class in .NET 2.0?I can't find a class that has that type of functionality.&lt;BR&gt;&lt;BR&gt;I tried KeyedCollection&amp;lt;TKey, TItem&amp;gt; butI am no satisfied with it. (the Add method looks like this: void Add(TItem);, which doesn't behave like a hashtable.)&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/TechOff/100907-Generic-hashtable/'&gt;Generic hashtable&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/100907/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/TechOff/100907-Generic-hashtable/</comments><link>http://channel9.msdn.com/forums/TechOff/100907-Generic-hashtable/</link><pubDate>Sun, 21 Aug 2005 23:53:50 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/TechOff/100907-Generic-hashtable/</guid><evnet:views>9151</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/100907/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Is there a generic hashtable class in .NET 2.0?I can't find a class that has that type of functionality.&lt;BR&gt;&lt;BR&gt;I tried KeyedCollection&amp;lt;TKey, TItem&amp;gt; butI am no satisfied with it. (the Add method looks like this: void Add(TItem);, which doesn't behave like a hashtable.)</evnet:previewtext><dc:creator>gaelhatchue</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/TechOff/100907-Generic-hashtable/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/100907/Trackback.aspx</trackback:ping></item></channel></rss>