<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Software Sleuthing</title><link>http://blogs.msdn.com/b/joshpoley/</link><description>Software Testing, Development, and Related</description><dc:language>en-US</dc:language><generator>Telligent Community 5.6.583.19199 (Build: 5.6.583.19199)</generator><item><title>Blog Migration</title><link>http://blogs.msdn.com/b/joshpoley/archive/2011/10/22/blog-migration.aspx</link><pubDate>Sat, 22 Oct 2011 15:04:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10228892</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=10228892</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2011/10/22/blog-migration.aspx#comments</comments><description>&lt;p&gt;For more flexibility in my posting options, I'm moving off of blogs.msdn.com. New posts can be found &lt;a href="http://joshpoley.blogspot.com/"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10228892" width="1" height="1"&gt;</description></item><item><title>Your Password is Too Secure</title><link>http://blogs.msdn.com/b/joshpoley/archive/2011/09/13/your-password-is-too-secure.aspx</link><pubDate>Tue, 13 Sep 2011 15:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10209954</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=10209954</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2011/09/13/your-password-is-too-secure.aspx#comments</comments><description>&lt;p&gt;For obvious reasons, Microsoft employees are asked to refrain from bashing other teams or products in their blog posts. But with the dismantling of the Money product line a couple years ago, I feel the statute of limitations has expired and I can share a useful lesson.&lt;/p&gt;
&lt;p&gt;At one point, I changed the password for my bank, and then went in to update the corresponding password in Microsoft Money so I could continue to download statements. Unfortunately, upon entering the password, I was met with this error box.&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-94-85/0458.badUI-_2D00_-password.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/314x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-94-85/0458.badUI-_2D00_-password.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Here is a product, which is charged with protecting my most important data, and it is telling me that it can't accept a password which any typical computer-savvy user would consider a normal "&lt;a href="http://en.wikipedia.org/wiki/Password_strength"&gt;strong&lt;/a&gt;" password. After seeing this message, &lt;i&gt;my brain stopped working&lt;/i&gt;. If anything, a product which deals with access to someone's money should favor the uber-paranoid side of the security fence. But here was a product that actually limits a password's complexity and forced users to a weak one.&lt;/p&gt;
&lt;p&gt;I can understand &lt;i&gt;reasonable&lt;/i&gt; limits on length as there may be storage or processing concerns (I've run into web sites where an eight-character password was too long, and no, that is not a reasonable limit). But if you are working on the password-processing feature of your software, gimping a password's strength is something that should be avoided at all costs.&lt;/p&gt;
&lt;p&gt;As an aside, you can use &lt;a href="https://www.microsoft.com/security/pc-security/password-checker.aspx"&gt;this utility&lt;/a&gt; to help gauge whether or not &lt;i&gt;your&lt;/i&gt; password is strong.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10209954" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Bad+UI/">Bad UI</category><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Security/">Security</category></item><item><title>WinDbg / i386kd Primer</title><link>http://blogs.msdn.com/b/joshpoley/archive/2011/08/29/windbg-i386kd-primer.aspx</link><pubDate>Mon, 29 Aug 2011 18:59:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10201835</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=10201835</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2011/08/29/windbg-i386kd-primer.aspx#comments</comments><description>&lt;p&gt;A handful of people on my team are working with the Windows code base to ensure we don't break them with compiler changes, and since some of them were new to kernel debugging, I put together a rather quick introduction to &lt;a href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx"&gt;windbg/i386kd&lt;/a&gt;. The slide deck can be found &lt;a href="https://docs.google.com/present/view?id=0AZOAQ1DIXFd4ZGdqZ2R4OWhfMTFmZDhoY2JnZg&amp;amp;hl=en"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10201835" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Debugging/">Debugging</category></item><item><title>Console output with a transparent background color</title><link>http://blogs.msdn.com/b/joshpoley/archive/2011/07/26/console-output-with-a-transparent-background-color.aspx</link><pubDate>Tue, 26 Jul 2011 15:02:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10189914</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=10189914</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2011/07/26/console-output-with-a-transparent-background-color.aspx#comments</comments><description>&lt;p&gt;In Windows land, if you want to print out colored text to a console, you will probably end up calling &lt;a href="http://msdn.microsoft.com/en-us/library/ms686047.aspx"&gt;SetConsoleTextAttribute&lt;/a&gt; to set the desired color, then calling it again to restore the original settings. Unfortunately the documentation doesn't make it very clear how to change &lt;i&gt;just&lt;/i&gt; the foreground color; which, in my experience, is a fairly common scenario. (You will still need to worry about clashing or unreadable text, but that is outside of the scope of this post.)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div style="color: black; margin: 0 0 10 0; padding: 10 10 10 10; border: solid 1px black; background-color: #fffecb; font: normal 9pt Courier New;"&gt;HANDLE consoleOut = GetStdHandle(STD_OUTPUT_HANDLE);&lt;br /&gt; &lt;br /&gt; CONSOLE_SCREEN_BUFFER_INFO csbiInfo = {0};&lt;br /&gt; GetConsoleScreenBufferInfo(consoleOut, &amp;amp;csbiInfo);&lt;br /&gt; &lt;br /&gt; SetConsoleTextAttribute(consoleOut, FOREGROUND_INTENSITY | FOREGROUND_RED | &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(csbiInfo.wAttributes &amp;amp; (0x00F0)));&lt;br /&gt; &lt;br /&gt; printf(&lt;span style="color: maroon;"&gt;"Foreground red, background unchanged\n"&lt;/span&gt;);&lt;br /&gt; &lt;br /&gt; &lt;span style="color: green;"&gt;// restore the original colors&lt;br /&gt; &lt;/span&gt;SetConsoleTextAttribute(consoleOut, csbiInfo.wAttributes);&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The magic part is where we OR in the original attributes with a bit mask of 0x00F0 which just keeps the BACKGROUND_* values intact. The un-obvious (and extremely useful) thing to note, is that the original background will be kept intact even if it can't be expressed in the provided 4 bits of information (i.e. the user has defined a custom color using a 24-bit RGB value).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10189914" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/C_2F00_C_2B002B00_/">C/C++</category></item><item><title>How Testers Test versus How Users Use</title><link>http://blogs.msdn.com/b/joshpoley/archive/2011/07/11/how-testers-test-versus-how-users-use.aspx</link><pubDate>Mon, 11 Jul 2011 16:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10185223</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=10185223</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2011/07/11/how-testers-test-versus-how-users-use.aspx#comments</comments><description>&lt;p&gt;With the emphasis on SDETs and generic Engineering teams, I've seen a growing disparity in how products are being tested versus how users actually use a product. Because it is often very easy to crank out more test cases (especially ones which just iterate on existing tests), testers often lose focus of what is actually important to a customer.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-94-85/6825.Test-vs-User-Venn.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x363/__key/communityserver-blogs-components-weblogfiles/00-00-00-94-85/6825.Test-vs-User-Venn.png" border="0" alt="" style="display: block; margin-left: auto; margin-right: auto;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;When looking at your automation ask yourself these questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Are my tests focused on the functionality which users care the most about? Figure out what matters the most to users. If users spend 80% of their time in one area of your product, that is where 80% of your testing should be as well.&lt;/li&gt;
&lt;li&gt;How much time (both development-time and execution-time) is invested in edge/corner cases versus actual user scenarios? A finely-tuned unit-test suite is a great thing to have, but is not a substitute for actually testing the software. It is just too easy to spend more time adding variations and more test cases that don't offer any additional benefit.&lt;/li&gt;
&lt;li&gt;Does the automation correctly hit all the same code paths under the same environmental situations? If your automation is relying too heavily on internal hooks at lower levels, it might not be exercising the software the way a user will be. Any deviation will reduce the effectiveness of the tests.&lt;/li&gt;
&lt;li&gt;Are test cases executing in a "pristine" state? Often tests are run on a clean system, after a fresh install, utilizing perfectly scripted steps over clean data. Users don't work like that. Run tests under a heavily loaded system. Intermix test scenarios to mimic the user moving chaotically through the software. Use real-world data sets. Then on top of all that, throw in some task-switches, network fluctuations, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To make customers happy, you need a way to quantify how Customerized your tests are. If the "how testers test the product" circle fully overlaps the "how a customer uses the product" circle, then your tests are highly Customerized, and you will have a better chance at satisfying your customers.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10185223" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Testing/">Testing</category></item><item><title>Hex Conversion via a Batch File</title><link>http://blogs.msdn.com/b/joshpoley/archive/2011/06/29/hex-conversion-via-a-batch-file.aspx</link><pubDate>Wed, 29 Jun 2011 15:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10181435</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=10181435</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2011/06/29/hex-conversion-via-a-batch-file.aspx#comments</comments><description>&lt;p&gt;Occasionally, when something bad happens, an application will return an &lt;a href="http://blogs.msdn.com/b/joshpoley/archive/2011/06/13/common-process-termination-values.aspx"&gt;exception code&lt;/a&gt; (which is occasionally an &lt;a href="http://msdn.microsoft.com/en-us/library/cc704588.aspx"&gt;NTSTATUS&lt;/a&gt; value). Unfortunately dumping out %ERRORLEVEL% can give you a negative value which makes looking up the error a little harder. Since I was in batch-land, I had the desire to take the value and print it out in a hex format, which drastically simplified my diagnosis efforts.&lt;/p&gt;
&lt;p&gt;Below is some batch code which will take a two's-compliment value, and print it out as an unsigned hexadecimal value. The basic algorithm is not very difficult (see 'hexloop' below): take the "ones place" digit off (by mod 16) and stick it in the result, then divide the input down by 16 and repeat. The tricky part comes when we have a negative value and thus need to deal with unsigned values that go beyond the range of a positively signed 32-bit value.&lt;/p&gt;
&lt;p&gt;To deal with this we first figure out how far past the MAX_INT value we are (stored in _offset). We then break the number into two parts so that we can operate on them in the positive side of a signed variable. Into each part, we then need to add in the equivalent (also broken apart) MAX_INT pieces. The first part (the first digit) is handled immediately; for the remaining digits, we just fall down into the normal processing loop. Note that we are using &lt;a href="http://blogs.msdn.com/b/joshpoley/archive/2011/06/03/batch-file-string-substitution-with-nested-environment-variables.aspx"&gt;the ! syntax&lt;/a&gt; for variables inside the 'if' statement as that helps keep the processor from getting confused.&lt;/p&gt;
&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; background-color: #fffecb; font: normal normal normal 9pt/normal 'Courier New'; border-width: 1px; border-color: black; border-style: solid; padding: 10px;"&gt;&lt;span style="color: blue;"&gt;@echo&lt;/span&gt; off&lt;br /&gt; &lt;span style="color: blue;"&gt;setlocal&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;setlocal&lt;/span&gt;&amp;nbsp;ENABLEDELAYEDEXPANSION&lt;br /&gt;&lt;br /&gt;&lt;span color="#0000ff" style="color: #0000ff;"&gt;&lt;/span&gt; &lt;span style="color: blue;"&gt;call&lt;/span&gt; :tohex %1&lt;br /&gt; &lt;span style="color: blue;"&gt;echo&lt;/span&gt; %_DECVAL% == 0x%_HEXVAL%&lt;br /&gt; &lt;br /&gt; &lt;span style="color: blue;"&gt;goto&lt;/span&gt; :eof&lt;br /&gt; &lt;br /&gt; &lt;strong style="color: black;"&gt;:tohex&lt;/strong&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set _DECVAL=%1&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set _HEXVAL=&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set _VAL=%1&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if %1 LSS 0 (&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REM &lt;span style="color: blue;"&gt;break&lt;/span&gt; the number into two parts so that we can output the&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REM full value within the bounds of a 32 bit signed value&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set /A _offset=&lt;span style="color: maroon;"&gt;"-(-2147483647 - !_VAL!) + 2"&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set /A _VAL=&lt;span style="color: maroon;"&gt;"!_offset! / 16 + 0x7FFFFFF"&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set /A _P=&lt;span style="color: maroon;"&gt;"!_offset! %% 16 + 0xF"&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if !_P! GEQ 16 (&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set /A _VAL=&lt;span style="color: maroon;"&gt;"!_VAL! + 1"&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set /A _P=&lt;span style="color: maroon;"&gt;"!_P! %% 16"&lt;/span&gt;&lt;br /&gt; &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;if !_P! LEQ 9 &lt;span style="color: blue;"&gt;set&lt;/span&gt; _HEXVAL=!_P!!_HEXVAL!&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if &lt;span style="color: maroon;"&gt;"!_P!"&lt;/span&gt; == &lt;span style="color: maroon;"&gt;"10"&lt;/span&gt; &lt;span style="color: blue;"&gt;set&lt;/span&gt; _HEXVAL=A!_HEXVAL!&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if &lt;span style="color: maroon;"&gt;"!_P!"&lt;/span&gt; == &lt;span style="color: maroon;"&gt;"11"&lt;/span&gt; &lt;span style="color: blue;"&gt;set&lt;/span&gt; _HEXVAL=B!_HEXVAL!&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if &lt;span style="color: maroon;"&gt;"!_P!"&lt;/span&gt; == &lt;span style="color: maroon;"&gt;"12"&lt;/span&gt; &lt;span style="color: blue;"&gt;set&lt;/span&gt; _HEXVAL=C!_HEXVAL!&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if &lt;span style="color: maroon;"&gt;"!_P!"&lt;/span&gt; == &lt;span style="color: maroon;"&gt;"13"&lt;/span&gt; &lt;span style="color: blue;"&gt;set&lt;/span&gt; _HEXVAL=D!_HEXVAL!&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if &lt;span style="color: maroon;"&gt;"!_P!"&lt;/span&gt; == &lt;span style="color: maroon;"&gt;"14"&lt;/span&gt; &lt;span style="color: blue;"&gt;set&lt;/span&gt; _HEXVAL=E!_HEXVAL!&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if &lt;span style="color: maroon;"&gt;"!_P!"&lt;/span&gt; == &lt;span style="color: maroon;"&gt;"15"&lt;/span&gt; &lt;span style="color: blue;"&gt;set&lt;/span&gt; _HEXVAL=F!_HEXVAL!&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong style="color: black;"&gt;:hexloop&lt;/strong&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set /A _P=&lt;span style="color: maroon;"&gt;"%_VAL% %% 16"&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if %_P% LEQ 9 &lt;span style="color: blue;"&gt;set&lt;/span&gt; _HEXVAL=%_P%%_HEXVAL%&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if &lt;span style="color: maroon;"&gt;"%_P%"&lt;/span&gt; == &lt;span style="color: maroon;"&gt;"10"&lt;/span&gt; &lt;span style="color: blue;"&gt;set&lt;/span&gt; _HEXVAL=A%_HEXVAL%&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if &lt;span style="color: maroon;"&gt;"%_P%"&lt;/span&gt; == &lt;span style="color: maroon;"&gt;"11"&lt;/span&gt; &lt;span style="color: blue;"&gt;set&lt;/span&gt; _HEXVAL=B%_HEXVAL%&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if &lt;span style="color: maroon;"&gt;"%_P%"&lt;/span&gt; == &lt;span style="color: maroon;"&gt;"12"&lt;/span&gt; &lt;span style="color: blue;"&gt;set&lt;/span&gt; _HEXVAL=C%_HEXVAL%&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if &lt;span style="color: maroon;"&gt;"%_P%"&lt;/span&gt; == &lt;span style="color: maroon;"&gt;"13"&lt;/span&gt; &lt;span style="color: blue;"&gt;set&lt;/span&gt; _HEXVAL=D%_HEXVAL%&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if &lt;span style="color: maroon;"&gt;"%_P%"&lt;/span&gt; == &lt;span style="color: maroon;"&gt;"14"&lt;/span&gt; &lt;span style="color: blue;"&gt;set&lt;/span&gt; _HEXVAL=E%_HEXVAL%&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if &lt;span style="color: maroon;"&gt;"%_P%"&lt;/span&gt; == &lt;span style="color: maroon;"&gt;"15"&lt;/span&gt; &lt;span style="color: blue;"&gt;set&lt;/span&gt; _HEXVAL=F%_HEXVAL%&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set /A _VAL=&lt;span style="color: maroon;"&gt;"%_VAL% / 16"&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if &lt;span style="color: maroon;"&gt;"%_VAL%"&lt;/span&gt; == &lt;span style="color: maroon;"&gt;"0"&lt;/span&gt; &lt;span style="color: blue;"&gt;goto&lt;/span&gt; :endloop&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;goto :hexloop&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong style="color: black;"&gt;:endloop&lt;/strong&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set _offset=&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set _P=&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set _VAL=&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;goto :eof&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10181435" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Batch+Tricks/">Batch Tricks</category></item><item><title>Common Process Termination Values</title><link>http://blogs.msdn.com/b/joshpoley/archive/2011/06/13/common-process-termination-values.aspx</link><pubDate>Mon, 13 Jun 2011 15:36:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10173948</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=10173948</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2011/06/13/common-process-termination-values.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size: small;"&gt;When your application does something the OS (or the application itself) doesn't like, often the floor gets yanked out and the process is terminated in an abrupt manner. If you don't happen to be running with a debugger, often the easiest way to get an idea of what went wrong is to look at the process exit code. Here we have an assortment of some of the more frequently encountered exit codes you are likely to witness:&lt;/span&gt;&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="120" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;0x00000003&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="474" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;CRT's abort() or assert() was called.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="120" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;0x80000003&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="474" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;An unhandled breakpoint (such as __debugbreak()), may also be caused by &lt;a href="http://msdn.microsoft.com/en-us/library/8wtf2dfz.aspx"&gt;&lt;span style="color: #0000ff;"&gt;/RTC&lt;/span&gt;&lt;/a&gt; run-time checks.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="120" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;0xC0000005&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="474" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Access violation.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="120" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;0xC00000FD&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="474" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Stack overflow. Avoid recursion, move large stack buffers onto the heap, or increase the stack size via the &lt;a href="http://msdn.microsoft.com/en-us/library/8cxs58a6.aspx"&gt;&lt;span style="color: #0000ff;"&gt;/STACK&lt;/span&gt;&lt;/a&gt; linker option.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="120" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;0xC0000135&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="474" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;A required DLL was not found. Make sure you deploy all necessary components.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="120" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;0xC0000138&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="474" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;An API is missing from the loaded DLL (searched by ordinal). This, and the one below, is typically due to running on an older version of Windows. You can change your _WIN32_WINNT, _WIN32_IE, etc. defines to target a previous version, or use LoadLibrary/GetProcAddress on the specific new API.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="120" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;0xC0000139&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="474" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;An API is missing from the loaded DLL (searched by name).&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="120" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;0xC0000142&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="474" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;DllMain (from a required library) returned FALSE.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="120" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;0xC0000374&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="474" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Heap corruption detected (via &lt;a href="http://msdn.microsoft.com/en-us/library/aa366705.aspx"&gt;&lt;span style="color: #0000ff;"&gt;HeapSetInformation&lt;/span&gt;&lt;/a&gt;'s HeapEnableTerminationOnCorruption option).&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="120" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;0xC0000409&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="474" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Stack corruption detected (typically a result of &lt;a href="http://msdn.microsoft.com/en-us/library/8dbf701c.aspx"&gt;&lt;span style="color: #0000ff;"&gt;/GS&lt;/span&gt;&lt;/a&gt; stack checks).&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="120" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;0xC0000417&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="474" valign="top"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Invalid CRT parameter (typically a result of the safe CRT functions failing a check).&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;The 0xC&amp;hellip; values are NTSTATUS codes, so if you happen to see other values in that range you know where to &lt;a href="http://msdn.microsoft.com/en-us/library/cc704588.aspx"&gt;&lt;span style="color: #0000ff;"&gt;look them up&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10173948" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Debugging/">Debugging</category><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Security/">Security</category></item><item><title>Batch File String Substitution with Nested Environment Variables</title><link>http://blogs.msdn.com/b/joshpoley/archive/2011/06/03/batch-file-string-substitution-with-nested-environment-variables.aspx</link><pubDate>Fri, 03 Jun 2011 15:10:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10171142</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=10171142</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2011/06/03/batch-file-string-substitution-with-nested-environment-variables.aspx#comments</comments><description>&lt;p&gt;The SET command has some nice extensions that let you do various manipulation operations on environment variables. One said operation is the string substitution feature, which is often used to perform basic pattern replacements such as stripping out quotes around filenames:&amp;nbsp;&lt;/p&gt;
&lt;div style="background-color: #cccccc;"&gt;
&lt;p class="Code"&gt;&lt;span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="color: #0000ff;"&gt;set &lt;/span&gt;&lt;span style="color: #050505;"&gt;ABC="c:\foo.txt"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="color: #0000ff;"&gt;&lt;br /&gt;set&lt;/span&gt;&lt;span style="color: #050505;"&gt; ABC=%ABC:"=%&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="color: #0000ff;"&gt;&lt;br /&gt;echo&lt;/span&gt;&lt;span style="color: #050505;"&gt; %ABC%&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;In the above sample, the quotes around the filename are removed (the search pattern is located between the colon and the equal sign, and the replacement pattern is located after the equal and before the ending percent sign &amp;ndash; which is empty in this case).&lt;/p&gt;
&lt;p&gt;I recently had a need to replace the beginning portion of a path name, with a different directory. But, unfortunately, I wasn't able to use hard-coded pattern strings as the both the initial directory and the replacement were unknown beforehand. This meant that I was left with the unfortunate task of trying to use an environment variable &lt;i&gt;inside&lt;/i&gt; of the replacement syntax. Needless to say, nesting % signs didn't go very well for me.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Luckily, there is a mode of cmd.exe which support delayed environment evaluation, and offers a new syntax for evaluating the environment variable.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="background-color: #cccccc;"&gt;
&lt;p class="Code"&gt;&lt;span style="color: #050505;"&gt;&lt;span&gt;&lt;span style="font-family: Courier New;"&gt;cmd.exe /v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;When /v is passed into cmd.exe, it allows you to expand environment variables using ! instead of %:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div style="background-color: #cccccc;"&gt;
&lt;p class="Code"&gt;&lt;span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="color: #0000ff;"&gt;echo&lt;/span&gt;&lt;span style="color: #050505;"&gt; !ABC!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Using both forms of expansion, I can nest one inside of the other, allowing me to use a variable for both the search string as well as the replacement:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div style="background-color: #cccccc;"&gt;
&lt;p class="Code"&gt;&lt;span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;&lt;span style="color: #050505;"&gt; TARGETPATH=!TARGETPATH:%ROOT%=%NEWROOT%!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;As an aside, here is a little test which will let you determine if /v is enabled or not:&lt;/p&gt;
&lt;div style="background-color: #cccccc;"&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="color: #0000ff;"&gt;set &lt;/span&gt;&lt;span style="color: #050505;"&gt;_EXP=expanded&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; "!_EXP!"&lt;/span&gt;&lt;span style="color: #050505;"&gt; NEQ &lt;/span&gt;&lt;/span&gt;"expanded" &lt;span style="color: #0000ff;"&gt;echo &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;ERROR: You must &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;start &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #050505;"&gt;cmd.exe with /v &amp;amp; &lt;/span&gt;&lt;/span&gt;goto &lt;/span&gt;&lt;span style="color: #050505;"&gt;:eof&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="color: #0000ff;"&gt;set &lt;/span&gt;&lt;span style="color: #050505;"&gt;_EXP=&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10171142" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Batch+Tricks/">Batch Tricks</category></item><item><title>Limits of OLEDB and Access Passwords</title><link>http://blogs.msdn.com/b/joshpoley/archive/2011/05/25/limits-of-oledb-and-access-passwords.aspx</link><pubDate>Wed, 25 May 2011 15:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10168271</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=10168271</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2011/05/25/limits-of-oledb-and-access-passwords.aspx#comments</comments><description>&lt;p&gt;People that know me know I hate useless error codes. During code reviews if I see someone attempting to return E_FAIL I will often launch into a blistering remark about how they are being lazy and making other developer's lifes harder all at the same time.&amp;nbsp; The problem with E_FAIL is that it is completely unactionable; it gives the caller (or the end user) zero details about what failed or how to fix it.&lt;/p&gt;
&lt;p&gt;Given this, you can imagine the distaste in my mouth when I encountered a DB_E_ERRORSOCCURRED (0x80040E21) error while just trying to open an Access database using OLE (via &lt;a href="http://msdn.microsoft.com/en-us/library/z3dbz7ce.aspx"&gt;CDataSource&lt;/a&gt;/&lt;a href="http://msdn.microsoft.com/en-us/library/bez779k2.aspx"&gt;CSession&lt;/a&gt;). I get this error back with no fanfare about what the actual problem is. The connection string used looked something like this:&lt;/p&gt;
&lt;div style="background-color: #cccccc;"&gt;&lt;span style="color: #3366ff;"&gt;PROVIDER&lt;/span&gt;=Microsoft.ACE.OLEDB.12.0;&lt;span style="color: #3366ff;"&gt;DATA SOURCE&lt;/span&gt;=database.accdb;&lt;span style="color: #3366ff;"&gt;Jet OLEDB:Database Password&lt;/span&gt;=' O1i6PidNWwKFHhl6DWJa7UZjD8RiPZ'&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;After blindly fishing around, I narrowed it down to the actual password that was the issue. If I disable the password protection on the database, I could connect just fine.&lt;/p&gt;
&lt;p&gt;After hacking around some more I discovered that it is the &lt;i&gt;length&lt;/i&gt; of the password (and not the any specific characters) which cause the open operation to fail. My life could have been so much happier if I had received a specific error message, or even an overloaded one which would help point to the length of the password as an issue. Looking through the standard windows headers, there are a handful of existing errors that would have been much nicer to see than an "errors occurred" message.&lt;/p&gt;
&lt;p&gt;So, if you happen to run into this error code yourself, you may need to shorten the password to fewer than &lt;strong&gt;20&lt;/strong&gt; characters.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10168271" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/C_2F00_C_2B002B00_/">C/C++</category><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Security/">Security</category><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Database/">Database</category></item><item><title>The Many Faces of Visual C++</title><link>http://blogs.msdn.com/b/joshpoley/archive/2009/12/15/the-many-faces-of-visual-c.aspx</link><pubDate>Tue, 15 Dec 2009 17:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9937149</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=9937149</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2009/12/15/the-many-faces-of-visual-c.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;Microsoft has an uncanny ability to confuse and befuddle users with the ever changing names of products across versions. Visual C++ is no stranger to this concept and I'm often left with trying to interpret some innocuous sounding statement into something meaningful to my simple mind. &lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;You need to link with the VC8's libs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Ok, great, now what does that mean? Is that version 8.0 (as reported by the binary)? Is it "Visual C++ 2008"? One could go &lt;i style="mso-bidi-font-style: normal;"&gt;mad&lt;/i&gt; trying to understand that each version has &lt;i style="mso-bidi-font-style: normal;"&gt;three&lt;/i&gt; different ways to identify and name it. To simplify my own life, I've created a chart with the last handful of versions and their equivalent names, hopefully this will be useful to others as well.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="1" class="MsoTableGrid" style="border-collapse: collapse; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"&gt;
&lt;td width="245" valign="top" style="padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; padding-top: 0in; mso-border-alt: solid windowtext .5pt; border: windowtext 1pt solid;"&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;Product Name&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: #c0c0c0; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;Product Version&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: #c0c0c0; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;Compiler File Version&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"&gt;
&lt;td width="245" valign="top" style="padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; padding-top: 0in; mso-border-alt: solid windowtext .5pt; border: windowtext 1pt solid;"&gt;
&lt;p class="MsoNormal"&gt;Visual C++ 2010&lt;/p&gt;
&lt;/td&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: #c0c0c0; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;VC10&lt;/p&gt;
&lt;/td&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: #c0c0c0; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;16.xx&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 1;"&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;Visual C++ 2008&lt;/p&gt;
&lt;/td&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: #c0c0c0; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;VC9&lt;/p&gt;
&lt;/td&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: #c0c0c0; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;15.xx&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 2;"&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;Visual C++ 2005&lt;/p&gt;
&lt;/td&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: #c0c0c0; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;VC8&lt;/p&gt;
&lt;/td&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: #c0c0c0; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;14.xx&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 3;"&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;Visual C++ .NET 2003&lt;/p&gt;
&lt;/td&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: #c0c0c0; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;VC7.1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: #c0c0c0; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;13.10&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 4;"&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;Visual C++ .NET 2002&lt;/p&gt;
&lt;/td&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: #c0c0c0; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;VC7.0&lt;/p&gt;
&lt;/td&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: #c0c0c0; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;13.00&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 5; mso-yfti-lastrow: yes;"&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;Visual C++ 6.0&lt;/p&gt;
&lt;/td&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: #c0c0c0; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;VC6&lt;/p&gt;
&lt;/td&gt;
&lt;td width="245" valign="top" style="border-bottom: windowtext 1pt solid; border-left: #c0c0c0; padding-bottom: 0in; background-color: transparent; padding-left: 5.4pt; width: 2.55in; padding-right: 5.4pt; border-top: #c0c0c0; border-right: windowtext 1pt solid; padding-top: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;12.xx&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p mce_keep="true"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9937149" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Random/">Random</category></item><item><title>Magic Numbers: Integers</title><link>http://blogs.msdn.com/b/joshpoley/archive/2009/10/09/magic-numbers-integers.aspx</link><pubDate>Fri, 09 Oct 2009 20:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9905543</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=9905543</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2009/10/09/magic-numbers-integers.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;After many moons of sitting in a queue somewhere, the MSDN &lt;A href="http://msdn.microsoft.com/en-us/testing/default.aspx" mce_href="http://msdn.microsoft.com/en-us/testing/default.aspx"&gt;Tester Center&lt;/A&gt; just posted my intro article on special numbers you probably want to think about when running tests. The paper addresses several interesting domains of integers (all the way up to 64-bits) and gives you samples of important values to use:&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0.5in 0pt" class=MsoNormal&gt;In testing software, we often miss an entire class of bugs just because we don't happen to think about one category of inputs and how they might adversely affect the system. To help combat this in with my own tests, I've pulled together a listing of numbers which are good to use in testing for various independent reasons.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee621251.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee621251.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee621251.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9905543" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Testing/">Testing</category></item><item><title>Test Plan Template</title><link>http://blogs.msdn.com/b/joshpoley/archive/2009/10/02/test-plan-template.aspx</link><pubDate>Fri, 02 Oct 2009 20:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9902494</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=9902494</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2009/10/02/test-plan-template.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;While looking at some of the traffic statistics for the MSDN &lt;A href="http://msdn.microsoft.com/en-us/testing/default.aspx" mce_href="http://msdn.microsoft.com/en-us/testing/default.aspx"&gt;Tester Center&lt;/A&gt;, I noticed that a bunch of people arrived at the site as a result of doing a Google search for "test plan template". The primary starting point for a template is really the &lt;A href="http://www.ieee.org/" mce_href="http://www.ieee.org/"&gt;IEEE&lt;/A&gt; standard &lt;A href="http://en.wikipedia.org/wiki/IEEE_829" mce_href="http://en.wikipedia.org/wiki/IEEE_829"&gt;829&lt;/A&gt;-2008 which breaks apart the various types of documents and goes into detail on what should be present in each. In the Xbox software organization, we've taken the Level Test Plan and tweaked it to better fit our needs, but a (generalized) version of it is posted for your viewing pleasure: &lt;A href="http://tester.poleyland.com/stats/track.asp?mtr=http://tester.poleyland.com/tester/publications/Generic%20Test%20Plan%20Template.dotx" mce_href="http://tester.poleyland.com/stats/track.asp?mtr=http://tester.poleyland.com/tester/publications/Generic%20Test%20Plan%20Template.dotx"&gt;Word Template&lt;/A&gt; (dotx) or &lt;A href="http://tester.poleyland.com/stats/track.asp?mtr=http://tester.poleyland.com/tester/publications/Generic%20Test%20Plan%20Template.pdf" mce_href="http://tester.poleyland.com/stats/track.asp?mtr=http://tester.poleyland.com/tester/publications/Generic%20Test%20Plan%20Template.pdf"&gt;PDF&lt;/A&gt;.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9902494" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Testing/">Testing</category></item><item><title>The Brute Tester</title><link>http://blogs.msdn.com/b/joshpoley/archive/2009/06/01/the-brute-tester.aspx</link><pubDate>Mon, 01 Jun 2009 20:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9679171</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=9679171</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2009/06/01/the-brute-tester.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;A co-worker of mine was working on a tool to watch our release share for the appearance of a test result file, for which he would then publish up to a &lt;A href="http://msdn.microsoft.com/en-us/teamsystem/dd408382.aspx" mce_href="http://msdn.microsoft.com/en-us/teamsystem/dd408382.aspx"&gt;TFS&lt;/A&gt; server. The "trx" results file in question is actually being created on the Xbox console by our custom test harness, and historically was around a 10 megabyte (Unicode) file for a typical daily regression run. Yet on a Friday afternoon (when it actually happened to be &lt;I style="mso-bidi-font-style: normal"&gt;nice&lt;/I&gt; outside), I get the following email from the tool writer:&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Any idea why daily\testResults.trx is 1.10GB?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It’s too large to load and publish.&lt;o:p&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;I'm thinking to myself: "One gig? Ay corumba! Did something go into a bad loop or something?"&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;I go out to the release server and start digging through the various log files, and sure enough, that thing is &lt;I style="mso-bidi-font-style: normal"&gt;huge&lt;/I&gt;. Luckily we also produce a little rollup by component area which is written out to a text file and only contains the totals. The previous day's totals came out to 6422 tests for this suite. Today's number: an unorthodox 454,216. Yea, I guess adding 447,794 test cases will definitely blow out the size of a TRX file.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Now to dig a little deeper. The four hundred and forty-seven &lt;I style="mso-bidi-font-style: normal"&gt;thousand&lt;/I&gt; test cases were just in &lt;I style="mso-bidi-font-style: normal"&gt;one&lt;/I&gt; feature area. Looking at the test code it was definitely following a brute-force pattern over multiple axis, the first instance I noticed was &lt;I style="mso-bidi-font-style: normal"&gt;O&lt;/I&gt;(&lt;I style="mso-bidi-font-style: normal"&gt;n&lt;SUP&gt;3&lt;/SUP&gt;&lt;/I&gt;).&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Cranking through half-a-million test cases for a single feature is probably not the best use of your time (or the computer's). And I would hate to be a developer asked to run this suite in order to isolate a failure down deep in a nest of loops ("sorry Joe Developer, but it starts to fail around the 300,000th test case, good luck with that breakpoint"). Instead you should be trying to pick the fewest (reasonable) cases that adequately test the component. Here are some ideas to get you started:&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;Use &lt;A href="http://en.wikipedia.org/wiki/Equivalence_Partitioning" mce_href="http://en.wikipedia.org/wiki/Equivalence_Partitioning"&gt;Equivalence Classes/Partitioning&lt;/A&gt;. You can even use &lt;A href="http://en.wikipedia.org/wiki/Code_coverage" mce_href="http://en.wikipedia.org/wiki/Code_coverage"&gt;Code Coverage&lt;/A&gt; to help determine groups.&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;Use &lt;A href="http://en.wikipedia.org/wiki/All-pairs_testing" mce_href="http://en.wikipedia.org/wiki/All-pairs_testing"&gt;All-Pairs or Pairwise&lt;/A&gt; pruning techniques (Microsoft's &lt;A href="http://msdn.microsoft.com/en-us/testing/bb980925.aspx" mce_href="http://msdn.microsoft.com/en-us/testing/bb980925.aspx"&gt;PICT&lt;/A&gt; tool can be downloaded for free).&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;Use data generation (e.g. &lt;A href="http://en.wikipedia.org/wiki/Fuzz_testing" mce_href="http://en.wikipedia.org/wiki/Fuzz_testing"&gt;Fuzzing&lt;/A&gt;) or &lt;A href="http://en.wikipedia.org/wiki/Data-driven_testing" mce_href="http://en.wikipedia.org/wiki/Data-driven_testing"&gt;Data-driven&lt;/A&gt; techniques to increase your coverage &lt;I style="mso-bidi-font-style: normal"&gt;over time&lt;/I&gt;. You don't need to run every single variation all at once, instead you increase your surface area a little bit each day.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9679171" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Testing/">Testing</category></item><item><title>Crashed Conference Room (ɯooɹ)</title><link>http://blogs.msdn.com/b/joshpoley/archive/2009/05/21/crashed-conference-room-oo.aspx</link><pubDate>Thu, 21 May 2009 17:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9633807</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=9633807</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2009/05/21/crashed-conference-room-oo.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;So we have these fancy touch screen displays on the outside of our conference rooms which will tell us when the room is booked (and by whom). They are definitely handy as they help resolve the inevitable conflict when multiple groups arrive at the same time and then fight over who owns the room. They also have the added bonus of allowing an individual to walk-up and immediately reserve an available conference room using the touch screen interface.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;This is all assuming, of course, that the device hasn't crashed. In the past several weeks that our team has been in the new buildings I've now seen two conference rooms who's displays have crashed (on this floor alone).&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;IMG style="WIDTH: 983px; HEIGHT: 502px" title="Upside Down BSOD" alt="Upside Down BSOD" src="http://blogs.msdn.com/photos/joshpoley/images/9633801/original.aspx" width=983 height=502 mce_src="http://blogs.msdn.com/photos/joshpoley/images/9633801/original.aspx"&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;And yes, not only do they crash with a splendid Blue-Screen-Of-Death, but they crash &lt;I style="mso-bidi-font-style: normal"&gt;upside down&lt;/I&gt;. &lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;The only reason I could think of for inverting the normal, run-time image, would be if you could access the unit from the back: if you flipped the screen down in a diagnostics mode, then everything would be right-side-up. Unfortunately these units aren't accessible from the back. They are truly &lt;I style="mso-bidi-font-style: normal"&gt;embedded in the wall&lt;/I&gt;.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;As I see it, there are two failures here. One is obviously in the uptime testing/certification of the devices. These things are on and running 24x7x365 and apparently something got missed. The second failure is a design issue. There is no user means of resetting the device. Every time these things crash, a technician has to come out, crack open the front panel and reboot the hardware.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9633807" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Random/">Random</category></item><item><title>Upcoming Testing Conferences (2nd half of 2009)</title><link>http://blogs.msdn.com/b/joshpoley/archive/2009/05/13/upcoming-testing-conferences-2nd-half-of-2009.aspx</link><pubDate>Wed, 13 May 2009 20:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9609959</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=9609959</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2009/05/13/upcoming-testing-conferences-2nd-half-of-2009.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Here is my semiannual post on testing conferences that will be occurring later this year.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;TABLE style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 419.4pt; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt" class=MsoTableGrid border=1 cellSpacing=0 cellPadding=0 width=559 class="MsoTableGrid"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.associationforsoftwaretesting.org/drupal/CAST2009" mce_href="http://www.associationforsoftwaretesting.org/drupal/CAST2009"&gt;CAST&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;July 13 - July 16&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Colorado Springs, Colorado, USA&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.cse.msu.edu/issta09/" mce_href="http://www.cse.msu.edu/issta09/"&gt;ISSTA&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;July 19 - July 23&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Chicago, Illinois, USA&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.mstb.org/softec2009/conference.php" mce_href="http://www.mstb.org/softec2009/conference.php"&gt;softec&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;July 20 - July 22&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Kuala Lumpur, Malaysia&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.softed.com/stanz/" mce_href="http://www.softed.com/stanz/"&gt;STANZ&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;August 24 - August 25&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Wellington, New Zealand&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 4"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.softed.com/stanz/" mce_href="http://www.softed.com/stanz/"&gt;STANZ&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;August 27 - August 28&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Sydney, Australia&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 5"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.psqtconference.com/2009north/" mce_href="http://www.psqtconference.com/2009north/"&gt;Practical Software Quality and Testing&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;September 14 - September 18&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Minneapolis, Minnesota, USA&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 6"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.sqs-conferences.com/ch/index.htm" mce_href="http://www.sqs-conferences.com/ch/index.htm"&gt;SSQC&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;September 15&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Zurich, Switzerland&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 7"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.isqi.org/en/conferences/conquest/2009/" mce_href="http://www.isqi.org/en/conferences/conquest/2009/"&gt;CONQUEST&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;September 16 - September 16&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Nuremberg, Germany&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 8"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.sqs-conferences.com/se/index.htm" mce_href="http://www.sqs-conferences.com/se/index.htm"&gt;SSQC&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;September 24 - September 25&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Stockholm, Sweden&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 9"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.sqs-conferences.com/uk/index.htm" mce_href="http://www.sqs-conferences.com/uk/index.htm"&gt;SSQC&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;October 5&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;London, England&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 10"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.sqe.com/StarWest/" mce_href="http://www.sqe.com/StarWest/"&gt;StarWest&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;October 5 - October 9&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Anaheim, California, USA&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 11"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.qatest.org/" mce_href="http://www.qatest.org/"&gt;QA&amp;amp;TEST&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;October 21 - October 23&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Bilbao, Spain&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 12"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.pnsqc.org/2009-conference" mce_href="http://www.pnsqc.org/2009-conference"&gt;Pacific NW Software Quality Conference&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;October 26 - October 28&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Portland, Oregon, USA&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 13"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.expoqa.com/en/presentacion.html" mce_href="http://www.expoqa.com/en/presentacion.html"&gt;expo:QA&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;October 27 - October 29&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Madrid, Spain&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 14"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.sqs-conferences.com/au/index.htm" mce_href="http://www.sqs-conferences.com/au/index.htm"&gt;SSQC&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;October 28 - October 29&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Melbourne, Australia&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 15"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.glsec.org/" mce_href="http://www.glsec.org/"&gt;Great Lakes Software Excellence Conference&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;November 16 - November 17&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Grand Rapids, Michigan, USA&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 16; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 131.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=175&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://www.qualtechconferences.com/?id=2" mce_href="http://www.qualtechconferences.com/?id=2"&gt;EuroStar&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 150.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=201&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;November 30 - December 3&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: #c0c0c0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 137.1pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=183&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Stockholm, Sweden&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9609959" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Testing/">Testing</category><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Conferences/">Conferences</category></item><item><title>Finding Database Connection Strings</title><link>http://blogs.msdn.com/b/joshpoley/archive/2009/05/07/finding-database-connection-strings.aspx</link><pubDate>Thu, 07 May 2009 19:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9593908</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=9593908</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2009/05/07/finding-database-connection-strings.aspx#comments</comments><description>&lt;P class=MsoNormal&gt;For a simple tool I was working on I needed to talk to a Microsoft Access database from my program. Now, most of the database work I've done in the past has been against SQL Server, so I needed to dig up the magic voodoo which represents the "connection string" for Access 2007 files. The connection string is used to tell the engine underlying the APIs how to talk to a specific type of database or file (i.e. what driver to use). Unfortunately most of the samples I found in MSDN were for an older version of Access (dealing with the old .mdb files) and not for 2007's .accdb files. &lt;/P&gt;
&lt;P class=MsoNormal&gt;After consulting my good friend Google, I stumbled across the "&lt;A href="http://www.connectionstrings.com/" mce_href="http://www.connectionstrings.com/"&gt;Connection String&lt;/A&gt;" site which gave me exactly what I needed and I figured was useful enough to share.&lt;/P&gt;
&lt;P class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9593908" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Database/">Database</category></item><item><title>Communication is Optional</title><link>http://blogs.msdn.com/b/joshpoley/archive/2009/04/14/communication-is-optional.aspx</link><pubDate>Wed, 15 Apr 2009 00:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9549260</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=9549260</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2009/04/14/communication-is-optional.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Clear communication is essential to our jobs and yet it always amazes me how poorly we do it. I received this chart in an email (about stress results).&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;IMG style="WIDTH: 475px; HEIGHT: 222px" title="Red Is Bad" border=0 alt="Red Is Bad" src="http://blogs.msdn.com/photos/joshpoley/images/9549257/original.aspx" width=475 height=222 mce_src="http://blogs.msdn.com/photos/joshpoley/images/9549257/original.aspx"&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Now, the interesting part: I've just given you as much context as to the meaning of the chart (and the email) as the author did. From the legend, I now know what color green, yellow, and red are, but aside from that, I've learned absolutely nothing. I may be able to go away with a little bit of comfort since the "red" line has gone down (and hopefully that is a good thing), but otherwise this email has done nothing but waste my time (especially since I've emerged from my blogging hiatus to write about it).&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;When you communicate with someone, you are hopefully trying to deliver some kind of message. If that message isn't brutally clear, &lt;B style="mso-bidi-font-weight: normal"&gt;then you have failed&lt;/B&gt;. In the case of the stress email, what was missing was a substantial amount of &lt;I style="mso-bidi-font-style: normal"&gt;context&lt;/I&gt;. But even if you had been privy to the dark mysteries which made up that missing information, you would still have had to do your own analysis and basically connect the dots between what a "green" line is and what it actually represents, because &lt;I style="mso-bidi-font-style: normal"&gt;that&lt;/I&gt; link itself was not brutally obvious to begin with.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;If you are going to take the time to deliver a message, then take the time to actually think about what you are saying and how you are saying it. If the author had actually thought about the chart for a second he probably would have realized that units would be a good thing and the default/existing legend was completely useless.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9549260" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Communication/">Communication</category></item><item><title>Top 25 software errors</title><link>http://blogs.msdn.com/b/joshpoley/archive/2009/01/12/top-25-software-errors.aspx</link><pubDate>Mon, 12 Jan 2009 19:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9308111</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=9308111</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2009/01/12/top-25-software-errors.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;SANS, along with a coalition of individuals and software organizations, just released their list of top "&lt;A href="http://www.sans.org/top25errors/?utm_source=web&amp;amp;utm_medium=text-ad&amp;amp;utm_content=Announcement_Bar_20090111&amp;amp;utm_campaign=Top25&amp;amp;ref=37029#s4" mce_href="http://www.sans.org/top25errors/?utm_source=web&amp;amp;utm_medium=text-ad&amp;amp;utm_content=Announcement_Bar_20090111&amp;amp;utm_campaign=Top25&amp;amp;ref=37029#s4"&gt;25 most dangerous programming errors&lt;/A&gt;". There has been some talk of making these a "requirement" or some sort of logo program to help protect customers when deciding which software to use or purchase.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;From a developer's perspective you should review these and ensure your design and code are doing the right thing. From a tester's perspective, be sure you have cases in place to validate and document how you are verifying these. If the items do become a hard requirement your group will probably have to provide proof of what was tested and how.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Ideally your team is doing all this anyway, but if not, here is a handy checklist to get started.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9308111" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Security/">Security</category></item><item><title>New Black Book</title><link>http://blogs.msdn.com/b/joshpoley/archive/2009/01/07/new-black-book.aspx</link><pubDate>Wed, 07 Jan 2009 21:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9288980</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=9288980</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2009/01/07/new-black-book.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Before the holidays, there was a big re-organization of personnel here in Xbox land. As a result, I figured that this would be a good time to update my Black Book and have some more copies printed out for all the folks which are now a part of our new-and-improved software testing family.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;The version which Bj just recently blogged about &lt;A href="http://blogs.msdn.com/imtesty/archive/2008/12/24/the-ultimate-desktop-reference.aspx" mce_href="http://blogs.msdn.com/imtesty/archive/2008/12/24/the-ultimate-desktop-reference.aspx"&gt;here&lt;/A&gt; was last updated a year ago, so the new one obviously contains more content. The changes also include formatting for better printing out in a 5.5" x 8.5" booklet (if you are so inclined). And as an aside, I'm not sure I deserve space in the same blog as the likes of Binder etc, but I will take what I can get :)&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Link to PDF: &lt;A href="http://tester.poleyland.com/stats/track.asp?mtr=http://tester.poleyland.com/tester/publications/Black%20Book.pdf" mce_href="http://tester.poleyland.com/stats/track.asp?mtr=http://tester.poleyland.com/tester/publications/Black%20Book.pdf"&gt;Black Book&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;For those of you which haven't seen it yet, it just contains a plethora of random reference material. The likes of which I have no desire to memorize, but for some reason I find myself having look up more than once. At least having it all in one place means I no longer have to spend time searching.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9288980" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Knowledge/">Knowledge</category></item><item><title>MiniDumps and "Bad" Stacks</title><link>http://blogs.msdn.com/b/joshpoley/archive/2008/11/10/minidumps-and-bad-stacks.aspx</link><pubDate>Mon, 10 Nov 2008 19:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9058146</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=9058146</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2008/11/10/minidumps-and-bad-stacks.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;A fellow reader sent a comment outlining the following problem:&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;I'm using the DMPSTK example from the Debugging Tools SDK. If I generate a crash dump from within Visual Studio 2005, I can see the call stack perfectly. However, if I create my own crash dump (the same as&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;you do in your blog), I get several LoadLibrary(ext), LoadLibrary(exts), ... failures. What's more important to notice is that the callstacks are different.&lt;o:p&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;The LoadLibrary messages are benign and just an artifact of the debugger attempting to load additional plug-ins. But with regard to the stack traces, things get more interesting.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;It turns out that the crash dump files created with Visual Studio are slightly different from the ones created via the API MiniDumpWriteDump. On top of that, WinDBG and the debugging engine exposed by WinDBG handle things a little bit differently with regard these dumps. The main difference stems from the use of embedded "contexts". A context contains the basic state of the system (CPU registers for example), and crash dumps can contain an embedded context which gets added in if you pass down the appropriate &lt;A href="http://msdn.microsoft.com/en-us/library/ms680366(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms680366(VS.85).aspx"&gt;exception details&lt;/A&gt; to &lt;A href="http://msdn.microsoft.com/en-us/library/ms680360(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms680360(VS.85).aspx"&gt;MiniDumpWriteDump&lt;/A&gt;.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;If you were to load up one of these API generated crash dump files in WinDBG itself, the program will kindly tell you that there is an additional context and in order to use it, you need to issue the "&lt;A href="http://msdn.microsoft.com/en-us/library/cc266788.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc266788.aspx"&gt;.ecxr&lt;/A&gt;" command. Until you do this, the stack trace you will see possibly is &lt;I style="mso-bidi-font-style: normal"&gt;not&lt;/I&gt; the stack you are interested in. This is where things are going wrong for our reader, who was displaying the default stack via the code in DMPSTK sample.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Luckily for us, we can do the equivalent to .ecxr in our code allowing us to get the "correct" stack.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;To start with we replace IDebugControl for IDebugControl4. This then gives us access to the &lt;A href="http://msdn.microsoft.com/en-us/library/cc266043.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc266043.aspx"&gt;GetStoredEventInformation&lt;/A&gt; and &lt;A href="http://msdn.microsoft.com/en-us/library/cc266090.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc266090.aspx"&gt;GetContextStackTrace&lt;/A&gt; methods.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;If we were to modify the initial code from &lt;A href="http://blogs.msdn.com/joshpoley/archive/2008/06/02/getting-the-stack-from-a-dmp-file-automating-crash-dump-analysis-part-2.aspx" mce_href="http://blogs.msdn.com/joshpoley/archive/2008/06/02/getting-the-stack-from-a-dmp-file-automating-crash-dump-analysis-part-2.aspx"&gt;this blog&lt;/A&gt; entry, we would end up with something like this which lets us try to get the embedded context, otherwise just fall back on the old standby (GetStackTrace).&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;DIV style="BACKGROUND-COLOR: #aaaaaa"&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;HRESULT DumpStack(IDebugControl4 *control, IDebugSymbols *symbols)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;#define&lt;/SPAN&gt;&lt;FONT color=#050505&gt; MAX_FRAMES 1024&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;HRESULT hr = S_OK;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;DEBUG_STACK_FRAME stackFrames[MAX_FRAMES] = {0};&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ULONG numFrames = 0;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#050505&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;char&lt;/SPAN&gt;&lt;FONT color=#050505&gt; context[1024] = {0};&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ULONG type = 0;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ULONG procID = 0;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ULONG threadID = 0;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ULONG contextSize = 0;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#050505&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;char&lt;/SPAN&gt;&lt;FONT color=#050505&gt; *contextData = NULL;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#050505&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;// look for an embedded event&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;hr = control-&amp;gt;GetStoredEventInformation(&amp;amp;type, &amp;amp;procID, &amp;amp;threadID, &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;context, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;SPAN style="COLOR: blue"&gt;sizeof&lt;/SPAN&gt;&lt;FONT color=#050505&gt;(context), &amp;amp;contextSize, NULL, 0, 0);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#050505&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;// get the stack trace&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#050505&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#050505&gt;(SUCCEEDED(hr))&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;contextData = &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;&lt;FONT color=#050505&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;char&lt;/SPAN&gt;&lt;FONT color=#050505&gt;[MAX_FRAMES*contextSize];&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;hr = control-&amp;gt;GetContextStackTrace(context, contextSize, &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;stackFrames, ARRAYSIZE(stackFrames), contextData, &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;MAX_FRAMES*contextSize, contextSize, &amp;amp;numFrames);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#050505&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;hr = control-&amp;gt;GetStackTrace(0, 0, 0, stackFrames, &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ARRAYSIZE(stackFrames), &amp;amp;numFrames);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;...&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Just don't forget to delete the newly allocated "contextData" buffer at the end of the function.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9058146" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Debugging/">Debugging</category><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/C_2F00_C_2B002B00_/">C/C++</category></item><item><title>Upcoming Testing Conferences (1st half of 2009)</title><link>http://blogs.msdn.com/b/joshpoley/archive/2008/11/04/upcoming-testing-conferences-1st-half-of-2009.aspx</link><pubDate>Tue, 04 Nov 2008 19:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9040329</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=9040329</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2008/11/04/upcoming-testing-conferences-1st-half-of-2009.aspx#comments</comments><description>&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Here are the links and dates for some of the testing related conferences which are approaching.&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;table class="MsoTableGrid" style="border-right-width: medium; border-right-style: none; border-right-color: initial; border-top-width: medium; border-top-style: none; border-top-color: initial; border-left-width: medium; border-left-style: none; border-left-color: initial; border-bottom-width: medium; border-bottom-style: none; border-bottom-color: initial; border-collapse: collapse; width: 419.4pt; " cellspacing="0" cellpadding="0" width="559" border="1"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.futuretest.net/" href="http://www.futuretest.net/"&gt;Future Test&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;February 24 - February 25&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;New York, New York, USA&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 1"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.swisstestingday.ch/en/home.php" href="http://www.swisstestingday.ch/en/home.php"&gt;Swiss Testing Day&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;March 18&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Zürich, Switzerland&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 2"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.iceaustralia.com/anztb09/" href="http://www.iceaustralia.com/anztb09/"&gt;ANZTB&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;March 23 -&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;March 25&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Sydney, Australia&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 3"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.sei.cmu.edu/sepgna/2009/" href="http://www.sei.cmu.edu/sepgna/2009/"&gt;SEPG&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;March 23 - March 26&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;San Jose, California, USA&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 4"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.stpcon.com/" href="http://www.stpcon.com/"&gt;STP&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;March 31 - April 2&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;San Mateo, California, USA&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 5"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://bitterroot.vancouver.wsu.edu/icst2009/" href="http://bitterroot.vancouver.wsu.edu/icst2009/"&gt;ICST&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;April 1 - April 4&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Denver, Colorado, USA&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 6"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.qaiquest.org/chicago/" href="http://www.qaiquest.org/chicago/"&gt;QUEST&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;April 20 - April 24&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Chicago, Illinois, USA&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 7"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.citconf.com/msp2009/" href="http://www.citconf.com/msp2009/"&gt;CITCON NA&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;April 24 - April 25&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Minneapolis-St. Paul, Minnesota, USA&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 8"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.vteonline.com/ITNG2009/" href="http://www.vteonline.com/ITNG2009/"&gt;ITNG&lt;/a&gt; &lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;April 27 - April 29&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Las Vegas, Nevada, USA&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 9"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.psqtconference.com/2009west/" href="http://www.psqtconference.com/2009west/"&gt;PSQT&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;April 27 - May 1&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Las Vega, Nevada, USA&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 10"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.sqe.com/STAREAST/" href="http://www.sqe.com/STAREAST/"&gt;StarEast&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;May 4 - May 8&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Orlando, Florida, USA&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 11"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.iceis.org/" href="http://www.iceis.org/"&gt;ICEIS&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;May 6 - May 10&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Milan, Italy&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 12"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.citconf.com/brisbane2009/" href="http://www.citconf.com/brisbane2009/"&gt;CITCON ANZ&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;June&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Brisbane, Australia&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 13"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.sqe.com/BetterSoftwareConf/" href="http://www.sqe.com/BetterSoftwareConf/"&gt;Better Software&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;June 8 - June 11&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Las Vegas, Nevada, USA&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 14"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.associationforsoftwaretesting.org/drupal/CAST2009" href="http://www.associationforsoftwaretesting.org/drupal/CAST2009"&gt;CAST&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;July 13 - July 16&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Colorado Springs, Colorado, USA&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 15; mso-yfti-lastrow: yes"&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 131.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="175"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;a mce_href="http://www.cse.msu.edu/issta09/" href="http://www.cse.msu.edu/issta09/"&gt;ISSTA&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 150.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="201"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;July 19 - July 23&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #c0c0c0; WIDTH: 137.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="183"&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Chicago, Illinois, USA&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;If you want to get a jump start on conferences in the latter half of 2009, you can browse through the ones that were around in &lt;a mce_href="http://blogs.msdn.com/joshpoley/archive/2008/07/30/upcoming-testing-conferences-2nd-half-of-2008.aspx" href="http://blogs.msdn.com/joshpoley/archive/2008/07/30/upcoming-testing-conferences-2nd-half-of-2008.aspx"&gt;2008&lt;/a&gt;. And thanks to Alan's &lt;a mce_href="http://blogs.msdn.com/joshpoley/archive/2008/07/30/upcoming-testing-conferences-2nd-half-of-2008.aspx#8792831" href="http://blogs.msdn.com/joshpoley/archive/2008/07/30/upcoming-testing-conferences-2nd-half-of-2008.aspx#8792831"&gt;comment&lt;/a&gt; on that page, I'm now pushing these through the &lt;a mce_href="http://msdn.microsoft.com/en-us/testing/bb418692.aspx" href="http://msdn.microsoft.com/en-us/testing/bb418692.aspx"&gt;Tester Center&lt;/a&gt; site as well, so they should be showing up there in the near future.&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt" mce_keep="true"&gt; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9040329" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Testing/">Testing</category><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Conferences/">Conferences</category></item><item><title>New Xbox Experience</title><link>http://blogs.msdn.com/b/joshpoley/archive/2008/11/03/new-xbox-experience.aspx</link><pubDate>Mon, 03 Nov 2008 19:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9033761</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=9033761</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2008/11/03/new-xbox-experience.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;This blog has been pretty quiet for a while since we've been busy doing the last push getting the "&lt;A href="http://www.xbox.com/en-US/live/nxe/"&gt;New Xbox Experience&lt;/A&gt;" polished and ready for release later this month. The new UI is pretty cool and is a nice break from the "Blade" interface which I've always thought was too web'ish (and very flat coming from the green 3D space on the original Xbox).&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;As for functionality, I'm the most excited about the Netflix integration and the ability to install games to the hard drive. Both of these features have been written about &lt;A href="http://gizmodo.com/5070189/new-xbox-experience-nxe-review-its-pure-improvement"&gt;elsewhere&lt;/A&gt;, so there isn't much need to go into detail here. But they will definitely improve the entertainment and gaming enjoyment people experience from their Xbox console.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;And since the whole "Avatars" thing is a big topic as well, here is an Xbox rendition of myself.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;CENTER&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;IMG title=Avatar style="WIDTH: 150px; HEIGHT: 300px" height=300 alt=Avatar src="http://blogs.msdn.com/photos/joshpoley/images/9033688/original.aspx" width=150 mce_src="http://blogs.msdn.com/photos/joshpoley/images/9033688/original.aspx"&gt;&lt;/P&gt;&lt;/CENTER&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9033761" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Xbox/">Xbox</category></item><item><title>Off to StarWest</title><link>http://blogs.msdn.com/b/joshpoley/archive/2008/09/29/off-to-starwest.aspx</link><pubDate>Mon, 29 Sep 2008 18:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8965128</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=8965128</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2008/09/29/off-to-starwest.aspx#comments</comments><description>&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;I'm off at &lt;a mce_href="http://www.sqe.com/starwest/" href="http://www.sqe.com/starwest/"&gt;StarWest&lt;/a&gt;, so the blog will be a bit quieter this week. If you happen to be in Anaheim, look for the pale bald guy.&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt" mce_keep="true"&gt; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8965128" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Random/">Random</category><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Conferences/">Conferences</category></item><item><title>Save My Image File's Metadata</title><link>http://blogs.msdn.com/b/joshpoley/archive/2008/09/25/save-my-image-file-s-metadata.aspx</link><pubDate>Thu, 25 Sep 2008 18:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8965115</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=8965115</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2008/09/25/save-my-image-file-s-metadata.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;The relatively new "&lt;A href="http://www.metadataworkinggroup.com/" mce_href="http://www.metadataworkinggroup.com/"&gt;Metadata Working Group&lt;/A&gt;" just released their first publication on &lt;A href="http://www.metadataworkinggroup.com/pdf/mwg_guidance.pdf" mce_href="http://www.metadataworkinggroup.com/pdf/mwg_guidance.pdf"&gt;guidelines&lt;/A&gt; for making the metadata stored in image files more portable across applications and file formats. Ever since I started photographing with a Digital SLR camera, I've been paranoid about preserving the rich metadata stored in every file. Paranoid to the point of writing my own tool for modifying/adding to the information as pretty much every single application I've ever tried has corrupted the information to some extent (deleting tags, moving them around, and generally doing bad things).&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;The goals of the working group are admirable, now we just need more applications to start following them.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8965115" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Photography/">Photography</category></item><item><title>Running 32bit dependent scripts in a 64bit world</title><link>http://blogs.msdn.com/b/joshpoley/archive/2008/09/18/running-32bit-dependent-scripts-in-a-64bit-world.aspx</link><pubDate>Thu, 18 Sep 2008 20:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8957623</guid><dc:creator>Josh Poley [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/joshpoley/rsscomments.aspx?WeblogPostID=8957623</wfw:commentRss><comments>http://blogs.msdn.com/b/joshpoley/archive/2008/09/18/running-32bit-dependent-scripts-in-a-64bit-world.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;As seen &lt;A href="http://blogs.msdn.com/joshpoley/archive/2008/09/17/createobject-fails-with-0x80040154.aspx" mce_href="http://blogs.msdn.com/joshpoley/archive/2008/09/17/createobject-fails-with-0x80040154.aspx"&gt;earlier&lt;/A&gt;, it can be problematic to run scripts which rely on 32bit COM objects on a 64bit platform. To make things easier, I wrote basic some script code to detect that the wrong scripting host was run and fork out to the correct one. This just uses a variation of the "detect cscript vs. wscript" pattern, but instead we look at the current processor and do a check to see if we are running the wrong flavor of the script host.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;DIV style="BACKGROUND-COLOR: #aaaaaa"&gt;
&lt;P class=CodeComment style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#008000&gt;//&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeComment style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#008000&gt;// this script code relies on 32bit COM objects, if we are running on&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeComment style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#008000&gt;// a 64bit system we will want to run under WOW64 (the x86 emulator).&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeComment style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#008000&gt;//&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;var &lt;/SPAN&gt;&lt;FONT color=#050505&gt;shell = WScript.CreateObject(&lt;/FONT&gt;&lt;SPAN style="COLOR: #990000"&gt;"WScript.Shell"&lt;/SPAN&gt;&lt;FONT color=#050505&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;var &lt;/SPAN&gt;&lt;FONT color=#050505&gt;cpu = shell.ExpandEnvironmentStrings(&lt;/FONT&gt;&lt;SPAN style="COLOR: #990000"&gt;"%PROCESSOR_ARCHITECTURE%"&lt;/SPAN&gt;&lt;FONT color=#050505&gt;).toLowerCase();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;var &lt;/SPAN&gt;&lt;FONT color=#050505&gt;host = WScript.FullName.toLowerCase();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeComment style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#008000&gt;// check to see if we are on an AMD64 processor and running the&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeComment style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#008000&gt;// wrong version of the scripting host.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#050505&gt;(host.indexOf(&lt;/FONT&gt;&lt;SPAN style="COLOR: #990000"&gt;"system32"&lt;/SPAN&gt;&lt;FONT color=#050505&gt;) != -1 &amp;amp;&amp;amp; cpu == &lt;/FONT&gt;&lt;SPAN style="COLOR: #990000"&gt;"amd64"&lt;/SPAN&gt;&lt;FONT color=#050505&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#050505&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;var &lt;/SPAN&gt;&lt;FONT color=#050505&gt;syswow64Host = host.replace(/system32/g, &lt;/FONT&gt;&lt;SPAN style="COLOR: #990000"&gt;"syswow64"&lt;/SPAN&gt;&lt;FONT color=#050505&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#050505&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;var &lt;/SPAN&gt;&lt;FONT color=#050505&gt;newCmd = syswow64Host + &lt;/FONT&gt;&lt;SPAN style="COLOR: #990000"&gt;" \""&lt;/SPAN&gt;&lt;FONT color=#050505&gt; + &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;WScript.ScriptFullName + &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;SPAN style="COLOR: #990000"&gt;"\" //Nologo"&lt;/SPAN&gt;&lt;FONT color=#050505&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeComment style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#008000&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// ATTEMPT to pass all the same command &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeComment style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#008000&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;//&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;line args to the new process&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;var &lt;/SPAN&gt;&lt;FONT color=#050505&gt;args = WScript.Arguments;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#050505&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;for&lt;/SPAN&gt;&lt;FONT color=#050505&gt;(i=0; i&amp;lt;args.length; i++)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;newCmd += &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;SPAN style="COLOR: #990000"&gt;" "&lt;/SPAN&gt;&lt;FONT color=#050505&gt; + args(i);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;WScript.Echo(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;SPAN style="COLOR: #990000"&gt;"Running the syswow64 bit version instead...\n&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;"&lt;/SPAN&gt;&lt;FONT color=#050505&gt; + &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;newCmd + &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;SPAN style="COLOR: #990000"&gt;"\n"&lt;/SPAN&gt;&lt;FONT color=#050505&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeComment style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#008000&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// launch the new script and echo all the output&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;var &lt;/SPAN&gt;&lt;FONT color=#050505&gt;exec = shell.Exec(newCmd);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#050505&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;while&lt;/SPAN&gt;&lt;FONT color=#050505&gt;(exec.Status == 0)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#050505&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#050505&gt;(!exec.StdOut.AtEndOfStream)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;WScript.Echo(exec.StdOut.ReadAll());&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;WScript.Sleep(100);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#050505&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#050505&gt;(!exec.StdOut.AtEndOfStream)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;WScript.Echo(exec.StdOut.ReadAll());&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;WScript.Quit(exec.ExitCode);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#050505&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeComment style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#008000&gt;// the real script code goes here ...&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#050505&gt;WScript.Echo(&lt;/FONT&gt;&lt;SPAN style="COLOR: #990000"&gt;"done"&lt;/SPAN&gt;&lt;FONT color=#050505&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;In this sample we are just checking for AMD64, so you may want to add logic for Itanium or other platforms as well.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Be sure to notice the "ATTEMPT" comment when transposing the command line options from the current process into the new one. The way that the command shell handles double quotes makes it hard to reproduce the exact command line from the support we have in script. For example, if you pass &lt;SPAN class=CodeChar&gt;&lt;SPAN style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;/abc="hello world"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; as an argument, the quotes will get stripped out and you will actually see &lt;SPAN class=CodeChar&gt;&lt;SPAN style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #aaaaaa" face="Courier New" color=#050505&gt;/abc=hello world&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; from your script code. If we pass this raw argument (as shown above) into the new process then the one argument will be interpreted as two because of the missing quotes. It is left as a reader exercise to detect spaces and reconstruct the exact arguments if needed.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8957623" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/Scripting/">Scripting</category><category domain="http://blogs.msdn.com/b/joshpoley/archive/tags/64bit/">64bit</category></item></channel></rss>
