<?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>Tom Archer's Blog : Visual C++</title><link>http://blogs.msdn.com/tomarcher/archive/tags/Visual+C_2B002B00_/default.aspx</link><description>Tags: Visual C++</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Are Hash Codes Unique?</title><link>http://blogs.msdn.com/tomarcher/archive/2006/05/10/are-hash-codes-unique.aspx</link><pubDate>Wed, 10 May 2006 08:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:594204</guid><dc:creator>tomarcher</dc:creator><slash:comments>24</slash:comments><comments>http://blogs.msdn.com/tomarcher/comments/594204.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tomarcher/commentrss.aspx?PostID=594204</wfw:commentRss><description>While you will hear people state that hash codes generate a unique value for a given input, the fact is that, while difficult to accomplish, it is technically feasible to find two different data inputs that hash to the same value. However, the true determining factors regarding the effectiveness of a hash algorithm lie in the length of the generated hash code and the complexity of the data being hashed. 
&lt;P&gt;Let's first talk about the hash algorithms themselves. &lt;B&gt;Hashing algorithms generate a fixed-length hash code regardless of the length of the input&lt;/B&gt;. For example, the MD5 hash function always generates hash codes that are 32 bytes in length, the SHA1 hash function generates 20-byte hash codes, SHA256 generates 256-bit (32 byte) hash codes, and so on. Therefore, since there are a limited range of possible values for a given hash code and an unlimited range of values to hash, it stands to reason that &lt;B&gt;the length of the hash code generated with a given hash algorithm is directly related to the difficulty of finding two inputs that will generate the same hash code&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;This is easy to prove. If &lt;EM&gt;n&lt;/EM&gt; is the number of possible hash codes, &lt;B&gt;we only need &lt;EM&gt;n + 1&lt;/EM&gt; distinct input values to prove that there is an overlap&lt;/B&gt;. Granted that for most hash functions, &lt;EM&gt;n&lt;/EM&gt; is rather large so we can safely assume that for any meaningful input values, it would be very difficult to find another meaningful input that would give the same hash.&lt;/P&gt;
&lt;P&gt;That brings me to the second point—the input value itself. It is assured that if the input is anything more involved than random data, then even if you were to find two inputs that generated the same hash value, the two inputs would have no semantic relationship to one another. This is especially evident if you are hashing text, because there are many more ways to produce gibberish than there are ways to produce meaningful words. In other words, it's extremely difficult to create random words, even harder to form sentences, and very unlikely that those sentences will form a paragraph or a document and still have it make sense.&lt;/P&gt;
&lt;P&gt;As an example, let's say you're generating a hash code for a top-secret document that details the route of nuclear warheads for disposal. The chances of someone randomly generating words until they matched the hash code generated for the original document and producing a document that makes any sense are so small that you could accurately say it would be impossible. &lt;/P&gt;
&lt;P&gt;Therefore, the fact that &lt;B&gt;each possible hash code doesn't uniquely match an input value only comes into play when you are dealing with random (nonstructured) data&lt;/B&gt;. An example of this would be &lt;B&gt;spyware-removal&lt;/B&gt; applications that determine if a file is spyware by hashing each file in a specified folder or drive and then comparing that hash value to a list of known spyware-file hash codes. In this case, &lt;B&gt;relying solely on the hash code would be a mistake&lt;/B&gt; as the files being hashed are of varying lengths with many files having no semantic meaning (as the application is not determining the meaning of the data; only the hash code values). As a result, it would be &lt;B&gt;highly recommended that these applications either match on file name before hashing the file's contents&lt;/B&gt; (which dramatically reduces the possibility of "false positive" results) &lt;B&gt;or use a hash code with a very long output value&lt;/B&gt; - such as SHA256. &lt;/P&gt;
&lt;P&gt;This brings us to the concept of &lt;B&gt;password hashing&lt;/B&gt;. Instead of storing their users' passwords, some applications will store only the hash code for the password. When the user attempts to log into the system, the application hashes the user's input password and compares that hash value to what has been stored for the valid password. This is a very good technique because it means that the users' passwords are not stored and therefore - theoretically cannot be hacked as hash codes cannot be reverse-engineered to their pre-hashed values. However, assuming that a hacker got his hands on the password-hash file, a &lt;B&gt;brute-force method could be employed by the hacker to continually generate hash codes until a code is generated that matches a hash code on the password list&lt;/B&gt;. The value the hacker used to generate the matching hash code could then be used to allow the hacker unauthorized access. 
&lt;P&gt;&lt;B&gt;This is a very real risk as passwords generally have a fixed length (such as 6-10 characters)&lt;/B&gt;. Therefore, the hacker doesn't need to generate as many hash codes as he would if attempting to regenerate the same hash code that was originally hashed for a much longer value. As a result, anyone using this technique to protect user passwords &lt;B&gt;should go a step further by adding a &lt;EM&gt;salt&lt;/EM&gt;, or static piece of data, to the input value before it is hashed&lt;/B&gt;. This would produce an almost fool-proof system as even if someone were to obtain a list of hashed passwords and were to produce a password that generated to a hash code in the list, this password would not work because when attempting to log in, the system would apply the salt and the resulting hash code would differ from that stored for the user. In other words, the hacker's input value would already be salted, but the system is expecting a non-salted value that it salts. As a result, the &lt;B&gt;addition of the salt greatly increases the difficulty in cracking the passwords&lt;/B&gt;, because now the hacker would need to 1) steal the hash-code file, 2) know that a salt has been added, 3) know the value of the salt and 4) know exactly how the salt was added. &lt;/P&gt;
&lt;P&gt;Therefore, &lt;B&gt;while there isn't a one-to-one correlation between every possible hash code and every possible input value&lt;/B&gt; such that all combinations are guaranteed to be unique, &lt;B&gt;hash codes are an extremely reliable means of protecting data integrity&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Related Reads: &lt;/STRONG&gt;Keith Brown did a full article on &lt;A href="http://msdn.microsoft.com/webservices/webservices/building/wse/default.aspx?pull=/library/en-us/dnwse/html/securusernametoken.asp" target=_blank mce_href="http://msdn.microsoft.com/webservices/webservices/building/wse/default.aspx?pull=/library/en-us/dnwse/html/securusernametoken.asp"&gt;securing the username token with WSE 2.0&lt;/A&gt;&amp;nbsp;that is a good read even if you're not doing Web Services as it talks about general security issues regarding the protection of user authentication information that is being sent over the wire. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=594204" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tomarcher/archive/tags/Visual+C_2B002B00_/default.aspx">Visual C++</category><category domain="http://blogs.msdn.com/tomarcher/archive/tags/Windows+Vista/default.aspx">Windows Vista</category></item><item><title>Why MSDN publishes more Managed Code than Native Code Information</title><link>http://blogs.msdn.com/tomarcher/archive/2006/03/26/why-msdn-publishes-more-managed-code-than-native-code-information.aspx</link><pubDate>Sun, 26 Mar 2006 08:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:561172</guid><dc:creator>tomarcher</dc:creator><slash:comments>50</slash:comments><comments>http://blogs.msdn.com/tomarcher/comments/561172.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tomarcher/commentrss.aspx?PostID=561172</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;From time to time, I get queries like “Why is Microsoft forcing managed code on us?” or “Why is Microsoft abandoning native code?” and so on. As MSDN is a key Microsoft public interface to developers, I thought I’d answer that from my own perspective.&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;Being a Program Manager at MSDN offers me a unique position within Microsoft as my specific job (Content Strategist) is to publish content that balances the needs of marketing and the technical product teams with our own knowledge of the target audience and the technologies involved while aligning with Microsoft’s overall business goals. Needless to say, the job can be quite challenging and at times more political than I’d prefer as I’ve been a programmer since the early 80’s and sometimes long for the days of being lost in low-level code as opposed to endless meetings. However, at the same time, I do enjoy my job very much as it enables me to see the business from many different vantage points and to have a basic understanding of why we do some of the things we do. One of those issues is the whole “managed code vs. native code” issue regarding why we promote the former much more than the latter.&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, I submit to you that there is no black and white here. We’re talking about the amount of information on managed code and managed code tools relative to native code information. In terms of native code, there are over 7,000 new APIs in the Windows SDK and every two weeks, we publish a new chapter to the &lt;A href="http://msdn.microsoft.com/windowsvista/developerstory" mce_href="http://msdn.microsoft.com/windowsvista/developerstory"&gt;Windows Vista Developer Story&lt;/A&gt; – a 600+ page collection of information on native SDK development. In addition, as we get closer to releasing the Windows Vista and the new Windows SDK, you’ll begin to see even more native code articles. However, most of the native code information is centralized on the Windows Vista and &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:place w:st="on"&gt;&lt;st1:PlaceName w:st="on"&gt;Visual&lt;/st1:PlaceName&gt; &lt;st1:PlaceName w:st="on"&gt;C++&lt;/st1:PlaceName&gt; &lt;st1:PlaceName w:st="on"&gt;Developer&lt;/st1:PlaceName&gt; &lt;st1:PlaceType w:st="on"&gt;Centers&lt;/st1:PlaceType&gt;&lt;/st1:place&gt; with the majority of information being published by MSDN being focused on managed code. Hopefully, this post will explain why – at least from my point of view.&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;B style="mso-bidi-font-weight: normal"&gt;Marketing&lt;/B&gt; –At Microsoft we have hundreds of products, but it’s no surprise that the reason we remain the most profitable software company in the world is by virtue of selling two main products - Windows and Office. In addition, it’s critical for the long-term stability of Microsoft that we also have a major impact on the Web. &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;Everything else (especially development tools) is simply a means of accomplishing those goals. An example is the Windows SDK. It’s completely free to anyone that wants to download it as it serves the greater purpose of getting developers to write Windows applications, which in turn sells more copies of Windows. In addition, you frequently see us hold training seminars that, at best, break even and might even lose money. Once again, the goal isn’t making money from these products or functions. The goal is to get information into the hands of developers so that they write Windows applications – or Web applications using Microsoft technologies. &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;There are many more examples – such as the free Visual Studio Express products, free training, free technical articles on MSDN and so on, but you get the point. The focus is always things like, “What can we do to the O/S to enable developers to create the apps they want for their customers?”, “How can we make the development tools easier to use to lower the cost of delivering that software in a timely fashion?”, etc.&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;Having said that, the latest technologies that accomplish the goals of selling Windows, pushing the Web and making it easier for developers to write Windows applications, are things like Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow, etc. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&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;Therefore, most conversations between marketing and MSDN deal with focusing on these newer technologies – in the form of publishing technical articles and whitepapers written by evangelists, promoting training and seminars, providing demos and hands-on labs and so on.&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;B style="mso-bidi-font-weight: normal"&gt;Product Teams &lt;/B&gt;– This is an easy one as most likely if you’re reading my blog, you’re also a developer and realize that most developers want to work on the latest, coolest thing. Our dev teams are no different. Therefore, internally when our product team developers write for MSDN they’re generally writing about the latest technologies. In addition, the various levels of management for these product teams also focus on requesting that we more heavily promote the latest innovations and features of their products. &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;B style="mso-bidi-font-weight: normal"&gt;Target Audience&lt;/B&gt; – If you ever want the definitive answer for why we at Microsoft do something, follow the metrics. The Visual Studio and .NET Developer Centers are – by far - the two most popular Dev Centers (in terms of traffic and users). They are followed up by Windows Vista (which is gaining rapidly despite still being in beta) and VB.NET. The meaning is clear. Developers come to MSDN looking for information about managed code and Windows Vista. &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;Therefore, one way of answering the question of why we post so much managed code content (relative to native code) is via the old adage, "We don't make the news; we only report it." &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Like any other company we stay in business by meeting the needs of our customers. If customers weren't asking for and responding favorably to this, we’d be going in a different direction. Therefore, it’s simply inaccurate to say that we’re forcing anything on anyone. We’re the ones reacting to what the masses have requested and right now that’s managed code and tools for developing advanced UIs in the fasted time possible.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=561172" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tomarcher/archive/tags/Visual+C_2B002B00_/default.aspx">Visual C++</category><category domain="http://blogs.msdn.com/tomarcher/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://blogs.msdn.com/tomarcher/archive/tags/Windows+Vista/default.aspx">Windows Vista</category></item><item><title>Free Microsoft Certification Exam (in Visual C++)</title><link>http://blogs.msdn.com/tomarcher/archive/2006/01/26/free-microsoft-certification-exam-in-visual-c.aspx</link><pubDate>Thu, 26 Jan 2006 21:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:517949</guid><dc:creator>tomarcher</dc:creator><slash:comments>287</slash:comments><comments>http://blogs.msdn.com/tomarcher/comments/517949.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tomarcher/commentrss.aspx?PostID=517949</wfw:commentRss><description>Sorry for the late notice, but I've just been informed that there's a &lt;B&gt;free Visual C++ 2005 certification exam&lt;/B&gt; available (#71-526). While this is a "beta" exam and is only good until January 31, it &lt;B&gt;does count towards certification&lt;/B&gt; in the same way as the final version of the exam. Note that the exam can be taken using Visual C++, Visual C# or Visual Basic - you specify your desired language when the exam begins. 
&lt;P&gt;The story here is that Microsoft has launched a "new generation of certifications" consisting of two distinct series of credentials for .NET Framework developers: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;U&gt;Microsoft Certified Technology Specialist (MCTS)&lt;/U&gt; - The MCTS credential highlights your ability to develop Windows, Web, or distributed applications using the .NET Framework 2.0 and Visual Studio 2005. 
&lt;LI&gt;&lt;U&gt;Microsoft Certified Professional Developer (MCPD)&lt;/U&gt; - The MCPD credential highlights your job role, featuring your specific area of expertise and allowing you to distinguish yourself as an expert in Windows Development, Web Application Development, or Enterprise Applications Development. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;To explain how these exams fit together the bigger picture: &lt;/P&gt;
&lt;P&gt;Exam 70-526 (the "final version" of this exam") is one of two exams required for the “Microsoft Certified Technology Specialist: .NET Framework 2.0 Windows Applications” (MCTS) credential. To achieve this credential you will also need to pass exam “70-536: TS: Microsoft .NET Framework 2.0 - Application Development Foundation”. &lt;/P&gt;
&lt;P&gt;After achieving the MCTS credential for Windows applications, you will be able to achieve the “Microsoft Certified Professional Developer: Windows Developer” (MCPD) credential by passing one additional exam: “70-548 PRO: Designing and Developing Windows-Based Applications by Using the Microsoft .NET Framework.” 
&lt;H1&gt;Special Notes&lt;/H1&gt;
&lt;P&gt;Please be aware of the following: 
&lt;UL&gt;
&lt;LI&gt;Promotional Code and Exam Number - The exam number is &lt;B&gt;71-526&lt;/B&gt; and the promotional code is &lt;B&gt;TSB526&lt;/B&gt; 
&lt;LI&gt;Passing the exam - Candidates who take and achieve a passing score in the beta exam will receive a free exam voucher for any Microsoft Certification Exam. Vouchers will be sent after exam scores are tabulated. 
&lt;LI&gt;Restrictions - The beta exams are not offered in China, India or Pakistan. Please don't waste your time sending me emails about this issue as I have no control over it. &lt;/LI&gt;&lt;/UL&gt;
&lt;H1&gt;Registering For and Taking the Exam&lt;/H1&gt;
&lt;P&gt;This is an in-person exam only (not an online exam). However, there is information online about the exam itself, including a self-test evaluation that you can take to measure your preparedness. 
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.microsoft.com/learning/exams/70-536.asp" mce_href="http://www.microsoft.com/learning/exams/70-536.asp"&gt;Exam Information&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;To register for the test in your area:&lt;/B&gt; 
&lt;UL&gt;
&lt;LI&gt;Thomson Prometric: (800) 755-EXAM (800-755-3926) 
&lt;LI&gt;Pearson VUE: 800 TEST Registration (800-837-8734) &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Outside the U.S./Canada, please visit the following Web sites for registration information: 
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.prometric.com/ContactUs/TestTakers/default.htm" mce_href="http://www.prometric.com/ContactUs/TestTakers/default.htm"&gt;Thomson Prometric&lt;/A&gt; (You must register with Thomson Prometric via telephone - (800) 755-EXAM (2926) 
&lt;LI&gt;&lt;A href="http://www.vue.com/ms/" mce_href="http://www.vue.com/ms/"&gt;Pearson VUE&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=517949" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tomarcher/archive/tags/Visual+C_2B002B00_/default.aspx">Visual C++</category></item><item><title>Free Visual Studio 2005, SQL Server 2005 and ASP.NET 2.0 Training!</title><link>http://blogs.msdn.com/tomarcher/archive/2005/11/06/free-visual-studio-2005-sql-server-2005-and-asp-net-2-0-training.aspx</link><pubDate>Sun, 06 Nov 2005 22:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:489592</guid><dc:creator>tomarcher</dc:creator><slash:comments>47</slash:comments><comments>http://blogs.msdn.com/tomarcher/comments/489592.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tomarcher/commentrss.aspx?PostID=489592</wfw:commentRss><description>&lt;P&gt;This past Friday, we announced that our Training/Learning division is offering *free* training on several&amp;nbsp;courses related to the November 7 launch of Visual Studio 2005, SQL Server 2005 and BizTalk Server 2006. From what I'm being told this training is only free until November 17, 2005 so you need to take advantage rather quickly.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66794" rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66794"&gt;Clinic 2551: Introduction to Visual Studio Team System &lt;/A&gt;[&lt;A title="New Window" href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66794" target=_blank rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66794"&gt;^&lt;/A&gt;] &lt;BR&gt;
&lt;LI&gt;&lt;A href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66795" rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66795"&gt;Course 2924: Building Data Components in Microsoft® Visual Studio® 2005&lt;/A&gt;[&lt;A title="New Window" href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66795" target=_blank rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66795"&gt;^&lt;/A&gt;] &lt;BR&gt;
&lt;LI&gt;&lt;A href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66796" rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66796"&gt;Course 2925: Building Managed Code for SQL Server 2005 and Creating SOA Applications with Visual Studio 2005 &lt;/A&gt;[&lt;A title="New Window" href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66796" target=_blank rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66796"&gt;^&lt;/A&gt;] &lt;BR&gt;
&lt;LI&gt;&lt;A href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67732" rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67732"&gt;Course 2926: Building Windows® Forms Applications with Microsoft® Visual Studio® 2005&lt;/A&gt;[&lt;A title="New Window" href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67732" target=_blank rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67732"&gt;^&lt;/A&gt;] &lt;BR&gt;
&lt;LI&gt;&lt;A href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67733" rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67733"&gt;Course 2927: Building Web Applications with ASP.NET 2.0&lt;/A&gt;[&lt;A title="New Window" href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67733" target=_blank rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67733"&gt;^&lt;/A&gt;] &lt;BR&gt;
&lt;LI&gt;&lt;A href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66797" rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66797"&gt;Course 2928: Implementing Data Access and Security in an ASP.NET 2.0 Web Application&lt;/A&gt;[&lt;A title="New Window" href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66797" target=_blank rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=66797"&gt;^&lt;/A&gt;] &lt;BR&gt;
&lt;LI&gt;&lt;A href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67734" rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67734"&gt;Course 2929: Implementing Wizards, Site Navigation, State Management, and Configuration in ASP.NET 2.0 &lt;/A&gt;[&lt;A title="New Window" href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67734" target=_blank rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67734"&gt;^&lt;/A&gt;] &lt;BR&gt;
&lt;LI&gt;&lt;A href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67735" rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67735"&gt;Course 2930: Implementing Master Pages, Personalization, and Web Parts with ASP.NET 2.0 &lt;/A&gt;[&lt;A title="New Window" href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67735" target=_blank rel=nofollow mce_href="https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=67735"&gt;^&lt;/A&gt;] &lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=489592" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tomarcher/archive/tags/Visual+C_2B002B00_/default.aspx">Visual C++</category></item><item><title>Retrieving special folder locations the right way (and some history)</title><link>http://blogs.msdn.com/tomarcher/archive/2005/11/01/retrieving-special-folder-locations-the-right-way-and-some-history.aspx</link><pubDate>Tue, 01 Nov 2005 22:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:487820</guid><dc:creator>tomarcher</dc:creator><slash:comments>26</slash:comments><comments>http://blogs.msdn.com/tomarcher/comments/487820.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tomarcher/commentrss.aspx?PostID=487820</wfw:commentRss><description>&lt;P&gt;Raymond Chen has a great one page piece in this month's TechNet magazine about why you should use the Shell API to retrieve special folder location information (such as the Fonts folder), why the Shell Folder registry key should not be used and how that key came to be in the first place:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/technet/technetmag/issues/2005/11/WindowsConfidential/default.aspx" mce_href="http://www.microsoft.com/technet/technetmag/issues/2005/11/WindowsConfidential/default.aspx"&gt;The Sad Story of the Shell Folders Key&lt;/A&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=487820" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tomarcher/archive/tags/Visual+C_2B002B00_/default.aspx">Visual C++</category><category domain="http://blogs.msdn.com/tomarcher/archive/tags/Windows+Dev+_2800_General_2900_/default.aspx">Windows Dev (General)</category></item><item><title>Video from Product Team on new products</title><link>http://blogs.msdn.com/tomarcher/archive/2005/10/27/video-from-product-team-on-new-products.aspx</link><pubDate>Thu, 27 Oct 2005 21:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:485752</guid><dc:creator>tomarcher</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/tomarcher/comments/485752.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tomarcher/commentrss.aspx?PostID=485752</wfw:commentRss><description>&lt;DIV&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;In the latest installment of "Microsoft After Dark", the product teams speak of the new innovations related to SQL Server 2005, Visual Studio 2005 and BizTalk Server 2006:&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;&lt;A title=http://www.microsoft.com/winme/0510/25540/welcome.htm href="http://www.microsoft.com/winme/0510/25540/welcome.htm" mce_href="http://www.microsoft.com/winme/0510/25540/welcome.htm"&gt;http://www.microsoft.com/winme/0510/25540/welcome.htm&lt;/A&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=485752" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tomarcher/archive/tags/Visual+C_2B002B00_/default.aspx">Visual C++</category></item><item><title>Get Visual Studio 2005 today!!</title><link>http://blogs.msdn.com/tomarcher/archive/2005/10/27/get-visual-studio-2005-today.aspx</link><pubDate>Thu, 27 Oct 2005 19:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:485684</guid><dc:creator>tomarcher</dc:creator><slash:comments>14</slash:comments><comments>http://blogs.msdn.com/tomarcher/comments/485684.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tomarcher/commentrss.aspx?PostID=485684</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial color=#000000 size=2&gt;While the official launch is still November 7, you can get Visual Studio 2005 today with an MSDN Subscription[1]. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial color=#000000 size=2&gt;If you have an MSDN Subscription - if not, this is a great reason to get one! - you can obtain the final versions of the following products today: &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;FONT color=#000000&gt;Visual Studio 2005 Standard&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;FONT color=#000000&gt;Visual Studio 2005 Professional&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;FONT color=#000000&gt;Visual Studio 2005 Team Suite[2]&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;FONT color=#000000&gt;Visual Studio 2005 Roll based products (Architect, Dev, Test)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;FONT color=#000000&gt;SQL 2005 Developer Edition&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;FONT color=#000000&gt;Visual SourceSafe 2005&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;FONT color=#000000&gt;Visio for &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:City w:st="on"&gt;&lt;st1:place w:st="on"&gt;Enterprise&lt;/st1:place&gt;&lt;/st1:City&gt; Architects&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;FONT color=#000000&gt;C++ tools for IA 64&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;FONT color=#000000&gt;Visual Studio tools for Office and Infopath&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;FONT color=#000000&gt;MSDN Library for VS 2005&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial color=#000000 size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;[1] &lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;We will be posting only the CD versions of Visual Studio for download for the next few days , DVD editions will be added probably early next week along with the &lt;st1:City w:st="on"&gt;&lt;st1:place w:st="on"&gt;Enterprise&lt;/st1:place&gt;&lt;/st1:City&gt;, Standard, and Workgroup versions of SQL 2005.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;FONT color=#000080&gt;[2]&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#000080&gt; The following applies to the VSTS product:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;FONT color=#000080&gt;• VST Suite is only available for download to VST Suite with MSDN Premium subscribers. &lt;BR&gt;• Visual Studio 2005 Pro with MSDN Premium subscribers and VSTA/D/T with MSDN Premium subscribers have access to VST Suite trial as an upsell opportunity. &lt;BR&gt;• VSPro with MSDN Professional, MSDN Operating Systems, and MSDN Library subscribers must get the VSTS Trial by other means.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=485684" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tomarcher/archive/tags/Visual+C_2B002B00_/default.aspx">Visual C++</category></item></channel></rss>