<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Intel® Software Network Blogs &#187; Software Engineering</title>
	<link>http://softwareblogs.intel.com</link>
	<description></description>
	<pubDate>Sat, 17 May 2008 04:17:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>C# 2.0 Data Structures</title>
		<link>http://softwareblogs.intel.com/2008/05/11/c-20-data-structures/</link>
		<comments>http://softwareblogs.intel.com/2008/05/11/c-20-data-structures/#comments</comments>
		<pubDate>Mon, 12 May 2008 02:54:27 +0000</pubDate>
		<dc:creator>Doug Holland (Intel)</dc:creator>
		
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/11/c-20-data-structures/</guid>
		<description><![CDATA[Anyone who has taken a formal college education in computer science or software engineering will have most likely taken a class entitled "Data Structures". When I took this class in 1994 these concepts were presented using the Modula-2 programming language and then we moved on to using the C programming language. Soon after that I took an advanced [...]]]></description>
			<content:encoded><![CDATA[<p>Anyone who has taken a formal college education in computer science or software engineering will have most likely taken a class entitled "Data Structures". When I took this class in 1994 these concepts were presented using the Modula-2 programming language and then we moved on to using the C programming language. Soon after that I took an advanced data structures class where the concepts were expanded upon to take into consideration the object-oriented capabilities of languages such as C++.</p>
<p>Today, over ten years later, I found an interesting series of articles on MSDN written by <a href="http://msdn.microsoft.com/en-us/asp.net/aa336543.aspx">Scott Mitchell</a> where he <a href="http://msdn.microsoft.com/en-us/library/ms379570(VS.80).aspx">discusses data structures using C# 2.0</a>. Visual Studio 2005 uses the 2.0 version of the language, whereas Visual Studio 2008 uses version 3.0; that said though, the articles will be useful for developers using either version of the C# programming language.</p>
<p>Gaining a solid understanding, or refreshing an existing understanding, of data structures will improve the code you write to solve every day programming problems and I would encourage anyone programming on the .net platform to check these articles out.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/11/c-20-data-structures/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Reaching out to the Academic Community</title>
		<link>http://softwareblogs.intel.com/2008/05/09/reaching-out-to-the-academic-community/</link>
		<comments>http://softwareblogs.intel.com/2008/05/09/reaching-out-to-the-academic-community/#comments</comments>
		<pubDate>Fri, 09 May 2008 20:38:20 +0000</pubDate>
		<dc:creator>Paul Steinberg (Intel)</dc:creator>
		
		<category><![CDATA[Events]]></category>

		<category><![CDATA[Graphics]]></category>

		<category><![CDATA[Multicore]]></category>

		<category><![CDATA[Social Media &amp; Virtual Worlds]]></category>

		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[Threading Building Blocks]]></category>

		<category><![CDATA[University Curriculum]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/09/reaching-out-to-the-academic-community/</guid>
		<description><![CDATA[I am happy to launch my first Blog post as a member of Intel's Software College and Academic Community.  Much of this first post is  introductionary &#38; I am looking for your feedback.
 I am working with some of the brightest folks here at Intel, our subject matter experts and architects, such as Clay Breshears, Michael Wrinn, Bob [...]]]></description>
			<content:encoded><![CDATA[<p>I am happy to launch my first Blog post as a member of Intel's Software College and Academic Community.  Much of this first post is  introductionary &amp; I am looking for your feedback.</p>
<p> I am working with some of the brightest folks here at Intel, our subject matter experts and architects, such as <a href="http://softwareblogs.intel.com/author/clay-breshears/">Clay Breshears</a>, <a href="http://softwareblogs.intel.com/author/michael-wrinn/">Michael Wrinn</a>, <a href="http://softwareblogs.intel.com/author/robert-chesebrough/">Bob Chesebrough </a>and <a href="http://softwareblogs.intel.com/2007/06/28/tim-mattson-on-parallel-computing-at-the-researchintel-blog/">Tim Mattson</a> (amongst others).  I will also be working closely with the indomitable <a href="http://softwareblogs.intel.com/2008/04/28/the-academic-community-has-a-new-face-to-support-you/">Wolfgang Rosenberg</a>, manager of the <a href="http://softwarecollege.intel.com/academic/">Intel Academic Community. </a></p>
<p>My job is to reach out to educators and researchers around the world, to connect them with Intel experts and to help foster development of a curriculum to educate the next generation of programmers and engineers on the newest compute platforms.</p>
<p><strong>Hopefully, this blog will go a long way to opening up channels of communication</strong> </p>
<p>We have a number of events and initiatives planned for this year. </p>
<p>We have already started our monthly <a href="http://softwarecommunity.intel.com/articles/eng/3760.htm"><strong>Academic Community Curriculum Webinar Series.</strong></a>  During these webinars, we discuss the newest curriculum topics.  It is a great way to speak directly with our course architects.  I moderate the series and I very much look forward to speaking with you there soon.</p>
<p><strong>The next in the series is on May 15 on multi-core design patterns.  Please Register below.</strong></p>
<p><img border="0" width="1" src="http://softwareblogs.intel.com/wordpress/wp-admin/" height="1" /><a href="http://w.on24.com/r.htm?e=106752&amp;s=1&amp;k=C24BFCF31A05EC4A82F51D6234DA4D71&amp;partnerref=MyBlog"><img border="0" width="312" src="http://softwarecommunity.intel.com/UserFiles/en-us/Image/Webinar.jpg" height="200" /></a></p>
<p> <a href="http://w.on24.com/r.htm?e=106752&amp;s=1&amp;k=C24BFCF31A05EC4A82F51D6234DA4D71&amp;partnerref=MyBlog">Register or view past event here</a>.</p>
<p>------------------------------------------</p>
<p>We are creating quite a few short <a href="http://softwarecommunity.intel.com/videos/home.aspx?fn=1484&amp;Category=MultiCore"><strong>videos</strong></a> supporting our academic efforts.</p>
<p><img border="0" width="1" src="http://softwarecommunity.intel.com/UserFiles/en-us/Image/vids.jpg" height="1" /><img border="0" width="393" src="http://softwarecommunity.intel.com/UserFiles/en-us/Image/vids.jpg" height="167" /></p>
<p> I'm in the process now of filming a series on threading topics with an emphasis on game development and visual computing.  So far only the first title on <a href="http://softwarecommunity.intel.com/videos/home.aspx?fn=1485">Optimizing for DirectX</a> is posted, but the rest will be available soon.</p>
<p><strong>Is this type of content useful?  Are there better ways to scale out our knowledge and build conversation?  I'd like to hear that from you.</strong></p>
<p> I've asked around internally as to how folks like to consume information.  As you might imagine, there were a wide-range of responses.  Tim Mattson just rolled his eyes when I started to talk about videos and webinars.  While he is a great presenter, his own preference is to just download the PowerPoint or code and have done with it.</p>
<p>Others, myself included, prefer a richer content set.  For me, nothing beats the immediacy of a live event.  That is one reason we have our monthly webinars.  I am also quite interested in convening smaller conversations, perhaps using something like Communicator or Live Meeting, to discuss specific topics or curriculum ideas.  Let me know by responding to this blog.</p>
<p> ---------------------------------------------</p>
<p>Finally, I've become very interested in different forms of new media.  I'm often available on <a href="http://www.twitter.com">Twitter</a> -find me as @psteinb.</p>
<p>I am the owner of the <a href="http://tinyurl.com/34chl9">Intel Software Second Life Island. </a></p>
<p><a href="http://tinyurl.com/34chl9"> <img border="0" width="159" src="http://softwarecommunity.intel.com/UserFiles/en-us/Image/psteinb/PeretzVerySmall.JPG" height="119" /></a></p>
<p>IM me on Second Life as Peretz Stine.</p>
<p>Check out our <a href="http://www.youtube.com/watch?v=iWfIJWaCzrA">launch video.</a></p>
<p><a href="http://www.youtube.com/watch?v=iWfIJWaCzrA"><img border="0" width="256" src="http://softwarecommunity.intel.com/UserFiles/en-us/Image/psteinb/launchSM.jpg" height="210" /></a></p>
<p><img border="0" width="1" src="http://softwarecommunity.intel.com/UserFiles/en-us/Image/Peretz.bmp" height="1" />Over the last year, we ran an event series on our Second Life island dedicated to engaging engineers and professionals around the world in conversation on this unique environment.  That program, sadly, is ended, but you can still view much of it <a href="http://softwarecommunity.intel.com/articles/eng/3712.htm">here:</a></p>
<p><a href="http://softwarecommunity.intel.com/articles/eng/3712.htm"><img border="0" width="401" src="http://softwarecommunity.intel.com/UserFiles/en-us/Image/psteinb/IntelMetaverse2.jpg" height="338" /></a></p>
<p>Are you interested in meeting on Second Life or other virtual worlds?  It can be arranged.</p>
<p> Well that's enough for now -you have you orders -tell me how best to foster dialogue.  I'll be working as hard as I can, but you are the whole point.  Let's start the conversation.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/09/reaching-out-to-the-academic-community/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fascinating Prediction ~ ARM has MID design wins until 2014?</title>
		<link>http://softwareblogs.intel.com/2008/05/08/fascinating-prediction-arm-has-mid-design-wins-until-2014/</link>
		<comments>http://softwareblogs.intel.com/2008/05/08/fascinating-prediction-arm-has-mid-design-wins-until-2014/#comments</comments>
		<pubDate>Fri, 09 May 2008 00:03:15 +0000</pubDate>
		<dc:creator>Jeff Moriarty (Intel)</dc:creator>
		
		<category><![CDATA[Mobility]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[ARM]]></category>

		<category><![CDATA[MID]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/08/fascinating-prediction-arm-has-mid-design-wins-until-2014/</guid>
		<description><![CDATA[EE Times published an article yesterday explaining that ARM will have the majority of MID sales until 2014.  Shockingly, I'm not too worried that anyone working on Atom or MID development is going to abandon ship.
First, ...2014?  I'd love to know what is going to be happening by the end of this year, let alone [...]]]></description>
			<content:encoded><![CDATA[<p>EE Times published an article yesterday explaining that ARM will have the <a href="http://eetimes.com/news/latest/showArticle.jhtml?articleID=207600351">majority of MID sales until 2014</a>.  Shockingly, I'm not too worried that anyone working on Atom or MID development is going to abandon ship.</p>
<p>First, ...2014?  I'd love to know what is going to be happening by the end of this year, let alone six years out.   That's an Internet Eternity, especially in this product area.  How old is  your cellphone, smartphone, or favorite tech toy?  Would you have really envisioned how you use it two years ago?  Four?</p>
<p>Second, there are too many wild cards in the cast of characters.  Apple, Google, Asus, Microsoft, and even... what's their name again... oh yeah, Intel, might have a plan or two up their sleeve in this time frame, and any one of them could send things scrambling in a new direction.  Apple wrenched the phone world sideways with the iPhone, and Asus launched a whole new market with the Eee PC.  Google has Android cooking and never fails to keep developers amused with new forays, and good ol' Microsoft may be sometimes slow to the party, but they always show up with an entourage.</p>
<p>Third, the article claims the "proven advantages of the ARM ecosystem in mobile devices will eventually  outweigh those of the Intel platform."  I've talked to a lot of people inside and outside Intel who develop for these devices, and the fragmentation of the existing ecosystems drives many of them nuts.   One of the great things about moblin is that is provides an compliance base across devices so you can reduce testing and reach more target systems, even running on multiple form factors like MIDs and netbooks.</p>
<p>ARM has an impressive part of the market right now in MID and ultra mobile devices without a doubt.  The iPhone alone tips the balance quite nicely.  I just don't see how anyone watching this industry, and who has looked at Atom and Intel's plans for it, could do anything but chuckle at any six-year prediction around MIDs other than it is going to be one crazy ride.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/08/fascinating-prediction-arm-has-mid-design-wins-until-2014/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Microsoft Architect Insight Conference 2008</title>
		<link>http://softwareblogs.intel.com/2008/05/07/microsoft-architect-insight-conference-2008/</link>
		<comments>http://softwareblogs.intel.com/2008/05/07/microsoft-architect-insight-conference-2008/#comments</comments>
		<pubDate>Wed, 07 May 2008 20:09:27 +0000</pubDate>
		<dc:creator>Doug Holland (Intel)</dc:creator>
		
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/07/microsoft-architect-insight-conference-2008/</guid>
		<description><![CDATA[I just found a website for the Microsoft Architect Insight Conference 2008 that just concluded in the UK on April 29th and the slides for the architecture conference are now available here.
I guess Microsoft didn't evangelize this conference much outside of the UK. It would be interesting for Microsoft to hold such a conference here [...]]]></description>
			<content:encoded><![CDATA[<p>I just found a website for the <a href="http://msdn.microsoft.com/en-gb/architecture/bb981446.aspx">Microsoft Architect Insight Conference 2008</a> that just concluded in the UK on April 29th and the slides for the architecture conference are now available <a href="http://msdn.microsoft.com/en-gb/architecture/cc531255.aspx">here</a>.</p>
<p>I guess Microsoft didn't evangelize this conference much outside of the UK. It would be interesting for Microsoft to hold such a conference here in the United States also.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/07/microsoft-architect-insight-conference-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Download .NET Framework Source Code</title>
		<link>http://softwareblogs.intel.com/2008/05/05/download-net-framework-source-code/</link>
		<comments>http://softwareblogs.intel.com/2008/05/05/download-net-framework-source-code/#comments</comments>
		<pubDate>Mon, 05 May 2008 22:33:50 +0000</pubDate>
		<dc:creator>Doug Holland (Intel)</dc:creator>
		
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/05/download-net-framework-source-code/</guid>
		<description><![CDATA[On January 16th 2008 Microsoft announced that Visual Studio 2008 can be configured to download the source code for the .NET Framework to enable an improved debugging experiance. Shawn Burk has a great post about configuring Visual Studio 2008 to download .NET source code here.
Unfortunately, the only way to get the source code for the [...]]]></description>
			<content:encoded><![CDATA[<p>On January 16th 2008 Microsoft announced that Visual Studio 2008 can be configured to download the source code for the .NET Framework to enable an improved debugging experiance. Shawn Burk has a great post about configuring Visual Studio 2008 to download .NET source code <a href="http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx">here</a>.</p>
<p>Unfortunately, the only way to get the source code for the .NET Framework was within Visual Studio 2008 and that wouldn't get you all of the source code. With the <a href="http://www.codeplex.com/NetMassDownloader">NetMassDownloader</a>, available on <a href="http://www.codeplex.com">CodePlex</a>, you can now download all of the available source code!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/05/download-net-framework-source-code/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dave, talking about OpenSolaris on Xeon</title>
		<link>http://softwareblogs.intel.com/2008/04/30/dave-talking-about-opensolaris-on-xeon/</link>
		<comments>http://softwareblogs.intel.com/2008/04/30/dave-talking-about-opensolaris-on-xeon/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 22:56:47 +0000</pubDate>
		<dc:creator>David Stewart (Intel)</dc:creator>
		
		<category><![CDATA[Graphics]]></category>

		<category><![CDATA[Multicore]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/04/30/dave-talking-about-opensolaris-on-xeon/</guid>
		<description><![CDATA[Thanks to my good friends in our SSG Marketing group, I did a 5 minute video on the work we're doing at Intel to enhance OpenSolaris for our processors.  Here is the URL - http://softwarecommunity.intel.com/videos/home.aspx?fn=1490:

Of course, none of this would be possible without the awesome work from very talented engineers.  My thanks to [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to my good friends in our SSG Marketing group, I did a 5 minute video on the work we're doing at Intel to enhance OpenSolaris for our processors.  Here is the URL - <a href="http://softwarecommunity.intel.com/videos/home.aspx?fn=1490">http://softwarecommunity.intel.com/videos/home.aspx?fn=1490</a>:<br />
<center><embed src="http://blip.tv/play/AbXIVQA" type="application/x-shockwave-flash" width="640" height="510" allowscriptaccess="always" allowfullscreen="true"></embed></center><br />
Of course, none of this would be possible without the awesome work from very talented engineers.  My thanks to them!!</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/04/30/dave-talking-about-opensolaris-on-xeon/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows Vista Component Services</title>
		<link>http://softwareblogs.intel.com/2008/04/30/windows-vista-component-services/</link>
		<comments>http://softwareblogs.intel.com/2008/04/30/windows-vista-component-services/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 22:15:11 +0000</pubDate>
		<dc:creator>Doug Holland (Intel)</dc:creator>
		
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/04/30/windows-vista-component-services/</guid>
		<description><![CDATA[Today, while debugging C# code that uses System.Transactions for scope management, I recieved the following exception message.

Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable DTC for network access in the security configuration for MSDTC using the Component Services Administrative tool.

So, as the message indicated, I went looking for the Component Services [...]]]></description>
			<content:encoded><![CDATA[<p>Today, while debugging C# code that uses <code>System.Transactions</code> for scope management, I recieved the following exception message.<br />
<code><br />
Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable DTC for network access in the security configuration for MSDTC using the Component Services Administrative tool.<br />
</code><br />
So, as the message indicated, I went looking for the Component Services administrative tool only to discover that Microsoft do not place it any longer within the Administrative Tools section of the control panel. On Windows Vista you must instead type the following either from a command console or from Start, Run:<br />
<code><br />
%windir%\system32\comexp.msc<br />
</code><br />
Component Services version 6.0 will then be available to you on Windows Vista, although interestingly, on Windows Server 2008 the Component Services applet is available in the Administrative Tools section of the Control Panel.</p>
<p><img src="http://softwareblogs.intel.com/wordpress/wp-content/uploads/2008/04/componentservices.jpg" alt="Component Services" /></p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/04/30/windows-vista-component-services/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Debugging .NET Framework Source Code</title>
		<link>http://softwareblogs.intel.com/2008/04/29/debugging-net-framework-source-code/</link>
		<comments>http://softwareblogs.intel.com/2008/04/29/debugging-net-framework-source-code/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 21:33:38 +0000</pubDate>
		<dc:creator>Doug Holland (Intel)</dc:creator>
		
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/04/29/debugging-net-framework-source-code/</guid>
		<description><![CDATA[I'm currently debugging some issues with an application written against the .NET Framework version 3.0 and today I found an interesting blog post by Shawn Burke where he describes how to configure Visual Studio 2008 to allow the debugger to step into the source for the .NET Framework itself!!!

If, like me, you find yourself debugging [...]]]></description>
			<content:encoded><![CDATA[<p>I'm currently debugging some issues with an application written against the .NET Framework version 3.0 and today I found an interesting <a href="http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx">blog post</a> by <a href="http://blogs.msdn.com/sburke/">Shawn Burke</a> where he describes how to configure Visual Studio 2008 to allow the debugger to step into the source for the .NET Framework itself!!!</p>
<p><img src='http://softwareblogs.intel.com/wordpress/wp-content/uploads/2008/04/8650.gif' alt='Debugging Microsoft .NET 2.0 Applications' /></p>
<p>If, like me, you find yourself debugging some fairly advanced issues on the .NET platform you might also consider reading <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDebugging-Microsoft-NET-2-0-Applications%2Fdp%2F0735622027%2F&amp;tag=sofbloint-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Debugging Microsoft .NET 2.0 Applications</a> by John Robbins. Given that the .NET Framework's 3.0 and 3.5 are merely extensions of the .NET Framework 2.0, the CLR remains at version 2.0 even in these newer frameworks, the book is still very applicable.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/04/29/debugging-net-framework-source-code/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows Account Management using the .NET Framework 3.5</title>
		<link>http://softwareblogs.intel.com/2008/04/28/windows-account-management-using-the-net-framework-35/</link>
		<comments>http://softwareblogs.intel.com/2008/04/28/windows-account-management-using-the-net-framework-35/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 21:20:05 +0000</pubDate>
		<dc:creator>Doug Holland (Intel)</dc:creator>
		
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/04/28/windows-account-management-using-the-net-framework-35/</guid>
		<description><![CDATA[While looking into some security coding that I knew I'd be working on in the coming few days I found an interesting new assembly which shipped with the .NET Framework 3.5:
System.DirectoryServices.AccountManagement
Within this assembly are some types that simplify many tasks that have taken considerably more code to achieve in previous versions of the .NET Framework, [...]]]></description>
			<content:encoded><![CDATA[<p>While looking into some security coding that I knew I'd be working on in the coming few days I found an interesting new assembly which shipped with the .NET Framework 3.5:</p>
<p><code>System.DirectoryServices.AccountManagement</code></p>
<p>Within this assembly are some types that simplify many tasks that have taken considerably more code to achieve in previous versions of the .NET Framework, or have simply been unreliable in previous versions.</p>
<p>To illustrate this lets consider the a scenario where we must determine the domain groups to which a particular user belongs. We first must establish an instance of the <code>PrincipalContext</code> class that encapsulates the server or domain against which other operations will be performed and in this example we use the <code>ContextType</code> enumeration to specify that we are dealing with a domain.</p>
<p><code>PrincipalContext context = new PrincipalContext(ContextType.Domain);</code></p>
<p>We'll next need to establish an instance of the <code>UserPrincipal</code> class representing the domain user whom we wish to determine the group membership of.<br />
<code><br />
UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(context, "aperson");<br />
</code><br />
With the <code>UserPrincipal</code> instance we can now discover the groups to which the user belongs simply by calling the <code>GetGroups()</code> method which will return us an instance of the <code>PrincipalSearchResult&lt;Principal&gt;</code> generic collection class.<br />
<code><br />
PrincipalSearchResult&lt;Principal&gt;<br />
groupPrincipals = userPrincipal.GetGroups();<br />
</code><br />
If you've ever previously programmed against an LDAP based directory using Microsoft .NET then you may notice the absence of an LDAP path in the above code. LDAP paths had a tendency to be fairly volatile objects as the directory to which it relates is maintained over time. Therefore, using these new classes in the <code>System.DirectoryServices.AccountManagement</code> assembly, we can write more maintainable code that is less likely to be affected by changes within the domain structure which could break older code that relied upon fixed LDAP paths.</p>
<p>Finally, the groups can be iterated over using the C# <code>foreach</code> loop as shown here.</p>
<p><code><br />
foreach (Principal principal in groupPrincipals)<br />
  Console.WriteLine(principal.Name);<br />
</code></p>
<p>Interestingly, if you're still using Visual Studio 2005, this new assembly can simply be added to as a reference because the .NET Framework version 3.5 is in effect an extension of the .NET Framework 2.0.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/04/28/windows-account-management-using-the-net-framework-35/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MIXing it up with Donald Knuth</title>
		<link>http://softwareblogs.intel.com/2008/04/28/mixing-it-up-with-donald-knuth/</link>
		<comments>http://softwareblogs.intel.com/2008/04/28/mixing-it-up-with-donald-knuth/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 15:23:45 +0000</pubDate>
		<dc:creator>Steve Lionel (Intel)</dc:creator>
		
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/04/28/mixing-it-up-with-donald-knuth/</guid>
		<description><![CDATA[The other day, I ran across an interesting interview with Donald Knuth.  Knuth, of course, is world-famous as the creator of the Potrzebie System of Weights and Measures (1 potrzebie = The thickness of issue #26 of MAD Magazine - just ask Google!)
Only slightly less known is Knuth's series of books The Art of [...]]]></description>
			<content:encoded><![CDATA[<p>The other day, I ran across an <a href="http://www.informit.com/articles/article.aspx?p=1193856">interesting interview</a> with <a href="http://en.wikipedia.org/wiki/Donald_Knuth">Donald Knuth</a>.  Knuth, of course, is world-famous as the creator of the <a href="http://en.wikipedia.org/wiki/Potrzebie#Unit_System">Potrzebie System of Weights and Measures</a> (1 potrzebie = The thickness of issue #26 of <a href="http://en.wikipedia.org/wiki/Mad_%28magazine%29">MAD Magazine</a> - just ask <a href="http://www.google.com/search?q=1+potrzebie">Google</a>!)</p>
<p>Only slightly less known is Knuth's series of books <a href="http://www-cs-faculty.stanford.edu/~knuth/taocp.html">The Art of Computer Programming</a> (TAOCP).  Planned as a seven-volume set, the first three volumes were published in the 1970s and were considered "required reading" by most everyone studying computer science. In college, I was especially taken with Knuth's use of an invented computer architecture called MIX, as it was a mixture of several well-known (at the time) architectures, and like some other college students of the era, I wrote an extended MIX interpreter, (mine was in IBM System\370 Assembler in two boxes of punch cards), that I oh-so-cleverly called XIM.</p>
<p>My XIM implemented not only the standard MIX instruction set, but also added all of the architectural extensions Knuth described in the volumes, such as floating point and I/O.  In the mid-70s, I wrote Knuth a letter describing XIM and asking, as an aside, when we might expect to see volume 4 published.  I received a thoughtful and courteous reply, saying, essentially, not to hold my breath! Sadly, my only copy of XIM perished in an apartment fire.</p>
<p>Knuth since has rewritten and revised TAOCP volumes 1-3 multiple times, trying to keep it relevant for the times. (Algorithms for efficient sorting of data stored on magnetic tapes are probably not as useful as they once were.)  What I missed, though, was the start, in 2005, of the publication of parts of TAOCP Volume 4!  Still a work in progress, Knuth has published "Fascicles", sets of chapters from the book.  Fascicles 1-4 are out, and Fascicle 0 has just been released.</p>
<p>What?  Oh, yeah.  The interview.  Knuth has been an advocate of what he calls <a href="http://www.literateprogramming.com/">Literate Programming</a>, which if I understand it correctly, has one write programs that are designed to be read by humans so that they can understand what the program is supposed to do.  I'm all in favor of this, as a long time advocate of writing understandable code and letting the compiler handle the optimization.</p>
<p>Knuth also expressed disdain for "unit tests", saying "lots of time is wasted on activities that I simply never need to perform or even think about. Nothing needs to be 'mocked up.'"  He also takes CPU manufacturers to task for moving to multicore:</p>
<blockquote><p><em>... it looks more or less like the hardware designers have run out of ideas, and that they’re trying to pass the blame for the future demise of Moore’s Law to the software writers by giving us machines that work faster only on a few key benchmarks! I won’t be surprised at all if the whole multithreading idea turns out to be a flop, worse than the [Itanium] approach that was supposed to be so terrific—until it turned out that the wished-for compilers were basically impossible to write.<br />
...<br />
I know that important applications for parallelism exist—rendering graphics, breaking codes, scanning images, simulating physical and biological processes, etc. But all these applications require dedicated code and special-purpose techniques, which will need to be changed substantially every few years. </em></p></blockquote>
<p>Well, some at Intel would take issue with that! It is certainly true that multithreading requires a different way of approaching algorithms, and there's a lot of progress in making threading easier, but there's lots more work to do.</p>
<p>Knuth has also revised the 1960s-era MIX, creating <a href="http://www-cs-faculty.stanford.edu/~knuth/mmix.html">MMIX</a>, a more modern 64-bit architecture.</p>
<p>Finally, I note that Knuth still plans to complete the seven-volume set of TAOCP.  I'll look forward to that!</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/04/28/mixing-it-up-with-donald-knuth/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
