<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:evnet="http://www.mscommunities.com/rssmodule/"><channel><title>Entries for Donald Adu -Poku</title><atom:link rel="self" type="application/rss+xml" href="http://channel8.msdn.com/people/gogole/rss/default.aspx" /><image><url>http://mschnlnine.vo.llnwd.net/d1//App_Themes/Channel8/images/feedimage.png</url><title>Entries for Donald Adu -Poku</title><link>http://channel8.msdn.com/People/gogole/</link></image><description>Entries, comments and threads posted by Donald Adu -Poku</description><link>http://channel8.msdn.com/People/gogole/</link><language>en-us</language><pubDate>Sun, 13 Jul 2008 19:46:26 GMT</pubDate><lastBuildDate>Sun, 13 Jul 2008 19:46:26 GMT</lastBuildDate><generator>EvNet (EvNet, Version=1.0.3125.28492, Culture=neutral, PublicKeyToken=null)</generator><item><title>Make your icons VS ready  [Make your icons VS ready ]</title><description>&lt;img src="http://channel8.msdn.com/Link/9734103e-c6b7-4b23-a78b-8e76c467560d/" border="0" /&gt;A while back Miguel provided &lt;a href="http://channel8.msdn.com/Posts/Find-the-coolest-and-most-suitable-icons-for-your-apps/"&gt;websites&lt;/a&gt; that we could get icons from, to use in
our projects.These icons being in .jpeg and .png formats need to be
converted into .ico formats to be able to integrate them in a VS
solution when making .msi installers, custom file types etc. I found a
site that does the conversion of .png to .ico and vice versa. It is
free and does not require any installation of any kind. &lt;a href="http://convertico.com/"&gt;Convertico.com&lt;/a&gt;
is the name, you should check it out :)&lt;br /&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Posts/Make-your-icons-VS-ready/'&gt;Make your icons VS ready &lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/7272/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Posts/Make-your-icons-VS-ready/</comments><link>http://channel8.msdn.com/Posts/Make-your-icons-VS-ready/</link><pubDate>Sun, 13 Jul 2008 19:46:00 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Posts/Make-your-icons-VS-ready/</guid><evnet:views>7726</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/7272/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>A while back Miguel provided &lt;a&gt;websites&lt;/a&gt; that we could get icons from, to use in
our projects.These icons being in .jpeg and .png formats need to be
converted into .ico formats to be able to integrate them in a VS
solution when making .msi installers, custom file types etc. I found a
site that does the conversion of .png to .ico and vice versa. It is
free and does not require any installation of any kind. &lt;a href="http://convertico.com/"&gt;Convertico.com&lt;/a&gt;
is the name, you should check it out &lt;img src='/emoticons/C9/emotion-1.gif' alt='Smiley' /&gt;</evnet:previewtext><media:thumbnail url="http://channel8.msdn.com/Link/c550f7cf-c71e-407d-b258-470040d0cf5c/" height="240" width="320" /><media:thumbnail url="http://channel8.msdn.com/Link/9734103e-c6b7-4b23-a78b-8e76c467560d/" height="64" width="85" /><dc:creator>gogole</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://channel8.msdn.com/Posts/Make-your-icons-VS-ready/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/7272/Trackback.aspx</trackback:ping></item><item><title>which one has priority ? [which one has priority ?]</title><description>I have been playing with the readyboost system of vista recently. There is something i haven't been able to answer myself : does the flash drive VRAM have a higher priority than tthe VRAM of the local HDD ? &lt;br /&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Forums/StudentUnion/7199-which-one-has-priority-/'&gt;which one has priority ?&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/7199/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Forums/StudentUnion/7199-which-one-has-priority-/</comments><link>http://channel8.msdn.com/Forums/StudentUnion/7199-which-one-has-priority-/</link><pubDate>Wed, 09 Jul 2008 19:37:16 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Forums/StudentUnion/7199-which-one-has-priority-/</guid><evnet:views>36</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/7199/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I have been playing with the readyboost system of vista recently. There is something i haven't been able to answer myself : does the flash drive VRAM have a higher priority than tthe VRAM of the local HDD ? in reply to which one has priority ?</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://channel8.msdn.com/Forums/StudentUnion/7199-which-one-has-priority-/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/7199/Trackback.aspx</trackback:ping></item><item><title>Kickstart C++/CLI : basic types and the array [Kickstart C++/CLI : basic types and the array]</title><description>&lt;p&gt;  C++/CLI being a .Net language it has its basic types directly mapping to that provided by the .Net framework. The structure below shows the various basic types of C++/CLI and the types they map to in the .Net framework.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;C++/CLI&lt;/span&gt;&lt;/b&gt;                                      &lt;b&gt;&lt;span&gt;.Net Type&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;char                                                SByte&lt;/p&gt;
&lt;p&gt;unsigned char                                  Byte&lt;/p&gt;
&lt;p&gt;short                                               Int16&lt;/p&gt;
&lt;p&gt;unsigned short                                 UInt16&lt;/p&gt;
&lt;p&gt;int or long                                        Int32&lt;/p&gt;
&lt;p&gt;unsigned int or usigned long              UInt32&lt;/p&gt;
&lt;p&gt;long long                                         Int64&lt;/p&gt;
&lt;p&gt;unsigned long long                           Uint64&lt;/p&gt;
&lt;p&gt;float                                                Single&lt;/p&gt;
&lt;p&gt;double                                            Double&lt;/p&gt;
&lt;p&gt;System::String^                              String&lt;/p&gt;
&lt;p&gt;System::Object^                             Object&lt;/p&gt;
&lt;p&gt;System:: Decimal                             Decimal&lt;/p&gt;
&lt;p&gt;Wchar_t                                         Char&lt;/p&gt;
&lt;p&gt;Bool                                              Boolean&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;I’m sure you’d be a bit surprised that C++/CLI char type is mapping to the Sbyte type but not the Char type of the .Net framework, also the type keywords are lengthy compared to types of the framework and the C# language. For example, C#’s short ulong type keyword compared to C++/CLI’s lengthy unsigned long long type keyword. For types like Object and String they do not have a keyword representation, an alias if I may in C++/CLI and thus are called directly with syntax System::String^ and System::Object^ from the framework libraries. If you are not comfortable with the verbose and lengthy type keywords of C++/CLI you could ignore the respective keywords and call them directly from the .Net framework. For example:&lt;/p&gt;
&lt;p&gt; Unsigned long long number = 20;&lt;/p&gt;
&lt;p&gt;Could be:&lt;/p&gt;
&lt;p&gt;System::UInt64 number =20;&lt;/p&gt;
&lt;p&gt;An even better way of doing this is to have a “using namespace” statement referencing the System library of the .Net framework.&lt;/p&gt;
&lt;p&gt;using namespace System;&lt;/p&gt;
&lt;p&gt;With that you’d be able to call the types with short code,&lt;/p&gt;
&lt;p&gt; System::UInt64 number = 20; becomes:&lt;/p&gt;
&lt;p&gt; UInt64 number = 20;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Let’s take a look at C++/CLI array syntax, the array syntax varies slightly depending on the types being stored in it, whether a reference type of a value type. For a System::String^ array which is a reference type , array instantiation syntax looks like this: &lt;/p&gt;
&lt;p&gt; array&amp;lt;System::String^&amp;gt;^ myArray  = gcnew array&amp;lt;System::String^&amp;gt;(10);&lt;/p&gt;
&lt;p&gt;This creates an string array with a capacity of 10 string objects.&lt;/p&gt;
&lt;p&gt;array&amp;lt;system::String^&amp;gt;^ myArray =  {“channel8”, “channel9”, “technet” , “channel10”, “msdn”};&lt;/p&gt;
&lt;p&gt;for a value type like int, an array of integers would have initialization syntax like this:&lt;/p&gt;
&lt;p&gt;array&amp;lt;int&amp;gt;^ myInt = new array&amp;lt;int&amp;gt;(10);&lt;/p&gt;
&lt;p&gt;array&amp;lt;int&amp;gt;^ myInt =  {0,1,2,3,4,5,6,7,8,9};&lt;/p&gt;
&lt;p&gt;array&amp;lt;int&amp;gt;^ myInt = nullptr;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Notice the use of gcnew keyword for reference type holding arrays and the additional handle punctuator (^) within the angle brackets. Let’s play with some of the stuff we have learnt throughout the series on C++/CLI so far. As an example I created this simple multi string concatenating class. &lt;/p&gt;
&lt;p&gt;#include "stdafx.h"&lt;/p&gt;
&lt;p&gt;using namespace System;&lt;/p&gt;
&lt;p&gt;using namespace System::Text;&lt;/p&gt;
&lt;p&gt;ref class StringConcatenator&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;private:&lt;/p&gt;
&lt;p&gt;     //fields &lt;/p&gt;
&lt;p&gt;     array&amp;lt;String^&amp;gt; ^_stringArray;&lt;/p&gt;
&lt;p&gt;     StringBuilder^ _stringBuilder;&lt;/p&gt;
&lt;p&gt;public:&lt;/p&gt;
&lt;p&gt;     //constructor&lt;/p&gt;
&lt;p&gt;     StringConcatenator(...array&amp;lt;String^&amp;gt;^ strings) &lt;/p&gt;
&lt;p&gt;           //...(ellipsis) keyword allows variable number of args to be passed in &lt;/p&gt;
&lt;p&gt;     {&lt;/p&gt;
&lt;p&gt;           _stringArray = strings;&lt;/p&gt;
&lt;p&gt;           _stringBuilder = gcnew StringBuilder();&lt;/p&gt;
&lt;p&gt;     }&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;     //the uber AWESOME four line string concatenator :P&lt;/p&gt;
&lt;p&gt;     String^ MegaConcat()&lt;/p&gt;
&lt;p&gt;     {&lt;/p&gt;
&lt;p&gt;           for(int counter = 0; counter &amp;lt; _stringArray-&amp;gt;Length; counter++)&lt;/p&gt;
&lt;p&gt;           {&lt;/p&gt;
&lt;p&gt;                _stringBuilder-&amp;gt;Append(_stringArray[counter]);&lt;/p&gt;
&lt;p&gt;           }&lt;/p&gt;
&lt;p&gt;           return _stringBuilder-&amp;gt;ToString();&lt;/p&gt;
&lt;p&gt;     }&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;     void MegaSlice(String^ string)&lt;/p&gt;
&lt;p&gt;     {&lt;/p&gt;
&lt;p&gt;           String^ firstSlice;&lt;/p&gt;
&lt;p&gt;           String^ secondSlice;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;           //two slices of .....bread.Hey where is the butter !?&lt;/p&gt;
&lt;p&gt;           firstSlice = string-&amp;gt;Substring(0,string-&amp;gt;Length/2);&lt;/p&gt;
&lt;p&gt;           secondSlice = string-&amp;gt;Substring((string-&amp;gt;Length/2)+1);&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;           Console::WriteLine(firstSlice);&lt;/p&gt;
&lt;p&gt;           Console::WriteLine(secondSlice);&lt;/p&gt;
&lt;p&gt;     }&lt;/p&gt;
&lt;p&gt;           &lt;/p&gt;
&lt;p&gt;};&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;void main()&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;     StringConcatenator ^concatenator = &lt;/p&gt;
&lt;p&gt;           gcnew StringConcatenator("hello ","C8'ers",","," I like pancakes" ,":)");&lt;/p&gt;
&lt;p&gt;     String ^concatString =  concatenator-&amp;gt;MegaConcat();&lt;/p&gt;
&lt;p&gt;    concatenator-&amp;gt;MegaSlice(concatString);&lt;/p&gt;
&lt;p&gt;     Console::WriteLine(concatString);&lt;/p&gt;
&lt;p&gt;     Console::ReadLine();&lt;/p&gt;
&lt;p&gt;};&lt;/p&gt;
&lt;p&gt;Come up with your own ideas and implement them using C++/CLI. Happy coding  :)&lt;/p&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Posts/Kickstart-CCLI--basic-types-and-the-array/'&gt;Kickstart C++/CLI : basic types and the array&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/7078/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Posts/Kickstart-CCLI--basic-types-and-the-array/</comments><link>http://channel8.msdn.com/Posts/Kickstart-CCLI--basic-types-and-the-array/</link><pubDate>Wed, 02 Jul 2008 14:36:00 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Posts/Kickstart-CCLI--basic-types-and-the-array/</guid><evnet:views>3130</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/7078/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;span&gt;  C++/CLI being a .Net language it has its basic types directly mapping to that provided by the .Net framework. The structure below shows the various basic types of C++/CLI and the types they map to in the .Net framework.&lt;/span&gt;</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel8.msdn.com/Posts/Kickstart-CCLI--basic-types-and-the-array/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/7078/Trackback.aspx</trackback:ping><category>.NET</category><category>C#</category><category>C++/CLI</category></item><item><title>Kickstart C++/CLI: Object instantiation [Kickstart C++/CLI: Object instantiation]</title><description>In the &lt;a href="http://channel8.msdn.com/Posts/Kickstart-CCLI--type-keywords-and-access-modifiers/"&gt;last post&lt;/a&gt; we created a customized class (MyClass) and looked at some keywords of C++/CLI. Let’s go ahead&amp;nbsp; and instantiate (i.e. create an object) the class.&lt;br /&gt;
&lt;br /&gt;
public ref class MyClass&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;public:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void MyMethod&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //code&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;};&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;An instantiation of this class would be:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Myclass&amp;nbsp; ^cls = gcnew Myclass();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Seen new syntax right, let go ahead and explain them but before that an understanding of object initialization is necessary. When an object instantiation occurs, memory on the heap is allocated for the class and then a handle to this class is created on the stack. This handle is actually what gets passed around in our code, any modifications made to it is reflected to the actual object on the heap. In the object instantiation above, the variable cls is the handle of the object MyClass allocated on the heap. C++/CLI clearly shows the handle creation in code with handle punctuator (^). Languages like C# abstracts this detail, the same class in C# would be instantiated like this:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;MyClass cls = new&amp;nbsp; MyClass();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; See the abstraction? You might be wondering what gcnew is, this is the equivalent of the new keyword in C# but because C++/CLI supports native C++ which also uses the same keyword for object instantiation a different Keyword had to be provided. Remember managed objects are maintained by the Garbage Collector? Seen where the “gc” appended to the “new” keyword came from? no? Look closely :).&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;A struct equivalent of MyClass (preferably called MyStruct)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;public value struct MyStruct&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;public:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void MyMethod&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //code&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;};&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;would be initialized like this:&lt;br /&gt;
&lt;br /&gt;
MyStruct srtct ;&lt;br /&gt;
&lt;br /&gt;
If you’d like to be verbose:&lt;br /&gt;
&lt;br /&gt;
MyStruct strct = new Mystruct();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;But in C++/CLI we could have struct’s allocated on the heap.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;public ref struct MyStruct&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;public:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void MyMethod&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //code&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;};&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;The instantiation of such a struct follows C++/CLI’s object instantiation:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Mystruct ^strct = gcnew Mystruct();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;In code, handles of objects could be created without a corresponding object that is points to. It would be said that the handle points to nothing; C# has the null keyword just for this. C++/CLI uses the nullptr keyword as an equivalent.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Myclass ^cls = nullptr;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;That does it for this post, in the next one we will be looking at the built-in types of C++/CLI and then Array syntax . Happy coding :)&lt;br /&gt;
&lt;br /&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Posts/Kickstart-CCLI-Object-instantiation/'&gt;Kickstart C++/CLI: Object instantiation&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/6907/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Posts/Kickstart-CCLI-Object-instantiation/</comments><link>http://channel8.msdn.com/Posts/Kickstart-CCLI-Object-instantiation/</link><pubDate>Fri, 20 Jun 2008 18:46:00 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Posts/Kickstart-CCLI-Object-instantiation/</guid><evnet:views>10423</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/6907/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In the last post we created a customized class (MyClass) and looked at some keywords of C++/CLI. Let’s go ahead in this post and instantiate (i.e. create an object of it) the class.&lt;br /&gt;</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>10</slash:comments><wfw:commentRss>http://channel8.msdn.com/Posts/Kickstart-CCLI-Object-instantiation/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/6907/Trackback.aspx</trackback:ping><category>C#</category><category>C++/CLI</category></item><item><title>.msi installer help [.msi installer help]</title><description>Hi guys, i know very llittle about making standalone installers in VS. Could you please give me a reference on this, done a bit of searching myself butit looks like i'm looking in the wrong places. thanks :)&lt;br /&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Forums/StudentUnion/6760-msi-installer-help/'&gt;.msi installer help&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/6760/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Forums/StudentUnion/6760-msi-installer-help/</comments><link>http://channel8.msdn.com/Forums/StudentUnion/6760-msi-installer-help/</link><pubDate>Sun, 15 Jun 2008 13:19:58 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Forums/StudentUnion/6760-msi-installer-help/</guid><evnet:views>31</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/6760/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Hi guys, i know very llittle about making standalone installers in VS. Could you please give me a reference on this, done a bit of searching myself butit looks like i'm looking in the wrong places. thanks :)in reply to .msi installer help</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://channel8.msdn.com/Forums/StudentUnion/6760-msi-installer-help/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/6760/Trackback.aspx</trackback:ping></item><item><title>Kickstart C++/CLI : type keywords and access modifiers [Kickstart C++/CLI : type keywords and access modifiers]</title><description>&lt;p class="MsoNormal"&gt;
				&lt;span&gt;In the &lt;a&gt;last post&lt;/a&gt; I
introduced new keywords without explaining them. Let’s start by explaining
those keywords then.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
		&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span&gt;Because
C++/CLI supports native C++ (unmanaged) and the .Net framework (managed) there
are keyword collisions between them since they use the same keywords for some of their types, C++/CLI needed new Keywords to resolve
these collisions. Due to this, the type keywords of managed and unmanaged types
of C++ and the .Net framework got affected. The C++/CLI team decided to leave
native C++ type keywords intact and introduce new ones for the .Net framework.
Some of the colliding type keywords were:&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;span&gt;&lt;span&gt;-&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;struct (managed) type of .Net and C++’s struct (unmanaged) type&lt;br /&gt;
&lt;br /&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;span&gt;-&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;class type
(managed) of .Net and C++’s class&lt;span&gt;&amp;nbsp;
&lt;/span&gt;(unmanaged) type&lt;br /&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;span&gt;-&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;enum&lt;span&gt;&amp;nbsp; &lt;/span&gt;(managed) type of .Net and C++’s enum
(unmanaged) type&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;. The introduction&amp;nbsp; &lt;em&gt;of&amp;nbsp; the &lt;/em&gt;&lt;strong&gt;&lt;em&gt;ref&lt;/em&gt;&lt;/strong&gt;
and &lt;strong&gt;&lt;em&gt;value&lt;/em&gt;&lt;/strong&gt;
modifiers resolved these collision issues. Types of C++/CLI are as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;&lt;span&gt;&lt;span&gt;-&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;ref class R {};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;&lt;span&gt;-&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;ref struct R {};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;&lt;span&gt;-&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;value class V {};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;&lt;span&gt;-&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;value struct V {};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;&lt;span&gt;-&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;enum class E {};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;&lt;span&gt;-&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;enum struct E {};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;&lt;span&gt;-&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;class C {};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;&lt;span&gt;-&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;struct C{};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;The &lt;strong&gt;&lt;em&gt;ref&lt;/em&gt;&lt;/strong&gt;
or &lt;strong&gt;&lt;em&gt;value&lt;/em&gt;&lt;/strong&gt;
modifiers combined with a type keyword yields a new whitespace keyword for the
managed types. &lt;strong&gt;&lt;em&gt;ref&lt;/em&gt;&lt;/strong&gt; denotes a type allocated on the managed heap with its
handle on the managed stack while &lt;strong&gt;&lt;em&gt;value&lt;/em&gt;&lt;/strong&gt; denotes a type allocated on
the managed stack. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;public
ref class MyClass&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;public:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;void MyMethod&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;//code &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;In the code above, Myclass can clearly be seen to
be a reference type (classes are reference types) which is allocated on the
managed heap. In C++/CLI we could have a class allocate on the stack: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;public value class MyClass{}; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;Also all C++/CLI types end a semi colon (;) after
the closing curly bracket: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;type typename{};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;The public keyword attached to the class signature
is an accessibility modifier, it implies that the class can be accessed
publicly. Access modifiers of C++/CLI and their meaning are as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;Access
Modifier &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Meaning&lt;/span&gt;&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;public:&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;/span&gt;public access&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;protected:&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;family (inheritance)
access&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;internal:&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;assembly access&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;private:&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;private access&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;protected public:&lt;span&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;family or assembly access&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span&gt;protected private:&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;family and assembly access&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;In the next post we will look at instantiating and
the built-in types of C++/CLI .Happy coding &lt;/span&gt;:)&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Posts/Kickstart-CCLI--type-keywords-and-access-modifiers/'&gt;Kickstart C++/CLI : type keywords and access modifiers&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/6678/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Posts/Kickstart-CCLI--type-keywords-and-access-modifiers/</comments><link>http://channel8.msdn.com/Posts/Kickstart-CCLI--type-keywords-and-access-modifiers/</link><pubDate>Thu, 12 Jun 2008 21:19:00 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Posts/Kickstart-CCLI--type-keywords-and-access-modifiers/</guid><evnet:views>10560</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/6678/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;p class="MsoNormal"&gt;
				&lt;span&gt;In the &lt;a&gt;last post&lt;/a&gt; I
introduced new keywords without explaining them. Let’s start by explaining
those keywords then.&lt;/span&gt;
		&lt;/p&gt;
&lt;br /&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;Because
C++/CLI supports native C++ (unmanaged) and the .Net framework (managed) there
are keyword collisions&lt;/span&gt;&lt;/p&gt;</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel8.msdn.com/Posts/Kickstart-CCLI--type-keywords-and-access-modifiers/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/6678/Trackback.aspx</trackback:ping><category>.NET</category><category>C++</category><category>C++/CLI</category></item><item><title>Kickstart C++/CLI [Kickstart C++/CLI]</title><description>&lt;p&gt;C++/CLI pronounced “C++ over CLI” is the .Net implementation of the C++ language. C++/CLI syntax is very much like that of C++, after all it is supposed to be the .Net implementation of the C++ language right (no surprise there). Due to its support for managed code and unmanaged (native) C++ code, the language has a unique feature to  used as a bridge to allow interoperability between C++ and a .Net language for instance C#.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;In a series of posts I will be serving as a guide of sorts to acquaint you with the language and its syntax. Let’s start off with the famous “Hello World” program. In C++/CLI it would look like this:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;#include "stdafx.h"&lt;/p&gt;
&lt;p&gt;using  namespace System;&lt;/p&gt;
&lt;p&gt; void main()&lt;/p&gt;
&lt;p&gt; {&lt;/p&gt;
&lt;p&gt;      Console::WriteLine("Hello World");&lt;/p&gt;
&lt;p&gt; }&lt;/p&gt;
&lt;p&gt;Lets get on with the dissection then, the line #include "stdafx.h" adds a precompiled header file called “stdafx.h” to the project. A precompiled header file avoids multiple compilations of the same code in a project thus improving the overall speed of the application being developed.&lt;/p&gt;
&lt;p&gt;To utilize classes in a namespace you would have to reference it first in your code, the “using statement” is used to reference these namespaces in .Net.Unlike C# where using statements took the form: &lt;/p&gt;
&lt;p&gt;        using xxxxx;&lt;/p&gt;
&lt;p&gt;Where xxxxx represents the namspace; C++/CLI using statements take the form:&lt;/p&gt;
&lt;p&gt;        using namespace xxxxx;&lt;/p&gt;
&lt;p&gt;Clearly you can see that C++/CLI requires an additional “namespace” keyword in its using statements. C++ makes use of compound keywords (two keywords separated by a whitespace character eg. Using namespace), these are whitespace keywords. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;The void main() function is a global function thus it is independent of a class. This function serves as the entry point of the C++/CLI program. &lt;/p&gt;
&lt;p&gt;Now we come to the line in the program that works all the magic: write to the screen “Hello World”.&lt;/p&gt;
&lt;p&gt;       &lt;br /&gt;
      Console::WriteLine("Hello World");&lt;/p&gt;
&lt;p&gt;C++/CLI unlike C++ distinguishes between accessing static class members and instance class members with different operators. The colon-colon operator (::) is for accessing static class members and also for scope resolution. In this case since the WriteLine() method of the Console {} class is a static method , Console::WriteLine() is just what is needed to call the method provided there is a “using namespace System;” in the file.&lt;/p&gt;
&lt;p&gt;The dot (.) operator is used to access instance members in C++/CLI. With a class like this:&lt;/p&gt;
&lt;p&gt;public ref class MyClass&lt;/p&gt;
&lt;p&gt; {&lt;/p&gt;
&lt;p&gt; public:&lt;/p&gt;
&lt;p&gt;         void MyMethod&lt;/p&gt;
&lt;p&gt;         {&lt;/p&gt;
&lt;p&gt;                 //code &lt;/p&gt;
&lt;p&gt;         }&lt;/p&gt;
&lt;p&gt; };&lt;/p&gt;
&lt;p&gt;cls.Mymetod(); would be needed to call the instance method provided an object of that class has been created which is named “cls”. We will go through other details in the next post. Happy coding. ;)&lt;/p&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Posts/Kickstart-CCLI/'&gt;Kickstart C++/CLI&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/6581/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Posts/Kickstart-CCLI/</comments><link>http://channel8.msdn.com/Posts/Kickstart-CCLI/</link><pubDate>Tue, 10 Jun 2008 03:16:00 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Posts/Kickstart-CCLI/</guid><evnet:views>5675</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/6581/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>C++/CLI pronounced “C++ over CLI” is the .Net implementation of the C++ language. C++/CLI syntax is very much like that of C++</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://channel8.msdn.com/Posts/Kickstart-CCLI/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/6581/Trackback.aspx</trackback:ping><category>C++/CLI</category></item><item><title>Introduction to SharePoint [Introduction to SharePoint]</title><description>&lt;img src="http://channel8.msdn.com/Link/1c8abf8f-fbff-41f3-baca-b4b79ecced83/" border="0" /&gt;In recent months, Microsoft has delivered what can only be categorized as a plethora of products to enable File Sharing and Collaboration but the most capable of those is certainly Microsoft Office SharePoint. SharePoint is designed to increase the productivity of any team or organization by providing a means for individuals to easily and securely communicate information across organization and geographic boundaries with a minimal learning curve. In addition to allowing for simple and cost effective collaboration, SharePoint is also a foundational application platform for developers to build Web-based business applications that can scale to meet any and all organizational needs. &lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;SharePoint versions &lt;br /&gt;
&lt;/strong&gt;It is important to note that the 2007 version of SharePoint is offered in two distinct flavors with each being targeted to a specific deployment scenario: &lt;/p&gt;
&lt;p&gt;·&amp;nbsp;&amp;nbsp; &lt;a href="http://office.microsoft.com/en-us/sharepointtechnology/default.aspx"&gt;Windows SharePoint Services 3.0 (WSS 3.0)&lt;/a&gt;-Windows SharePoint Services is, in effect, a subset of features provided by the full Windows SharePoint Server 2007 product. WSS 3.0 provides the core pieces of SharePoint like Document Libraries, Site Templates, Microsoft Office system integration and Tasks Lists.&lt;/p&gt;
&lt;p&gt;·&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="https://www.microsoft.com/sharepoint/default.mspx"&gt;Microsoft Office SharePoint Server 2007 (MOSS)&lt;/a&gt;-Microsoft Office SharePoint Server 2007 provides all the aforementioned SharePoint components in addition to incorporating Business Intelligence features into the product to allow for things like creation of Employee Scorecards and tracking of key Performance metrics on an Enterprise-Wide scale. Another feature included with MOSS but not WSS 3.0 is termed “My Site” and allows for each member of the organization to create a site “Advertising” themselves so that others will be able to locate their particular expertise more quickly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Site Templates&lt;br /&gt;
&lt;/strong&gt;SharePoint provides for the rapid provisioning of Sites and Workspaces by offering a number of “In-Box” templates. These Templates include the following:&lt;/p&gt;
&lt;p&gt;·&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Team Site&lt;/strong&gt;-This template can be used to quickly create a Team Site for use by a particular group.&lt;/p&gt;
&lt;p&gt;·&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;Blank Site&lt;/strong&gt;-This Template can be used to create a site with no pre-determined contents. This is useful when you have project or team specific requirements that require a custom built site.&lt;/p&gt;
&lt;p&gt;·&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;Document Workspace&lt;/strong&gt;-This Template provides an area for individuals to focus on a single (or multiple documents). This Template proves useful when a group needs to develop a document such as a PowerPoint presentation or other type of documentation that will be accessed and worked on by numerous groups or individuals over the course of its lifetime.&lt;/p&gt;
&lt;p&gt;·&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;Blog&lt;/strong&gt;-This Template give individuals or groups the ability to communicate information to others in an informal manner.&lt;/p&gt;
&lt;p&gt;·&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;Wiki&lt;/strong&gt;-This Template is easily one of the most useful found in SharePoint. It enables groups to engage and communicate ideas in a structured manner, but also allows any user to edit any part of any page at any time. This type of flexibility provides an incredibly cost effective way for organizations to record information and track changes to that information.&lt;/p&gt;
&lt;p&gt;·&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;Meeting Workspace&lt;/strong&gt;-This Template allows for individuals or groups to prepare for a meeting and keep all related materials in one place.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Administrative Control and External Access&lt;br /&gt;
&lt;/strong&gt;Information Security and Access Control have always been paramount concerns for any IT Department and SharePoint provides extensive controls for Administrators to tailor the Permissions and Access Rights for a particular Site or Site Collection to their liking. Most security in SharePoint is controlled through Roles and Permissions. SharePoint includes three “In-Box” Permission levels with the ability to assign individual permissions on a per-user basis:&lt;/p&gt;
&lt;p&gt;·&amp;nbsp;&amp;nbsp;&lt;strong&gt;Team Site Owner&lt;/strong&gt;-This Security Group is given full control of all resources contained within a particular Site or Site collection.&lt;/p&gt;
&lt;p&gt;·&amp;nbsp;&amp;nbsp;&lt;strong&gt;Team&lt;/strong&gt; &lt;strong&gt;Site Members&lt;/strong&gt;-This Security Group is given rights to Read, Write and Change existing content as well as upload new content. This Group is the default to which new users will be assigned if not expressly changed.&lt;/p&gt;
&lt;p&gt;·&amp;nbsp;&amp;nbsp;&lt;strong&gt;Team Site Visitors&lt;/strong&gt;-This Security Group is able to do nothing more than view content. This Group is especially useful when deploying SharePoint as an Extranet to provide access to partners and individuals outside the corporate firewall.&lt;/p&gt;
&lt;p&gt;One area of SharePoint where Security and Access Control play a crucial role is when deployed as an Extranet. External access to SharePoint is available through the use of a technology known as Alternate Access Mapping (AAM) which allows for an internal resource such as a SharePoint server or Farm to be mapped to a Public Facing URL. This is great for employees and partners who exist outside the corporate firewall as they don’t have to remember a complicated URL and can work from home without the need for a VPN and still have access to corporate resources.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conclusion&lt;br /&gt;
&lt;/strong&gt;As you can see, SharePoint provides a unified way for individuals, Groups, Teams and/or Partners to communicate across Geographic, Organizational and Network boundaries while keeping TCO (Total Cost of Ownership) at a minimum and providing the security and access control that is an essential function for any IT Department in today’s world of ever increasing threats. In the next installment of this Series, we’ll cover an example installation of SharePoint and talk a bit about initial configuration tasks associated with the product.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Written by: &lt;/strong&gt;Josh Bolling (TheContempt)&lt;/p&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Posts/Introduction-to-Sharepoint/'&gt;Introduction to SharePoint&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/6350/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Posts/Introduction-to-Sharepoint/</comments><link>http://channel8.msdn.com/Posts/Introduction-to-Sharepoint/</link><pubDate>Fri, 30 May 2008 02:04:00 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Posts/Introduction-to-Sharepoint/</guid><evnet:views>14363</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/6350/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In recent months, Microsoft has delivered what can only be categorized as a plethora of products to enable File Sharing and Collaboration but the most capable of those is certainly Microsoft Office SharePoint. SharePoint is designed to increase the productivity of any team or organization by providing a means for individuals to easily and securely communicate information across organization and geographic boundaries with a minimal learning curve.</evnet:previewtext><media:thumbnail url="http://lgazkg.bay.livefilestore.com/y1pxPUvAARt1Xhbw1xTgkwlFBQpSHPOr6pV2RDXlus9VmSL6Q4j_I_AvdZTVBS4kt8IVcVLh177cKxI3aiEePUMgw/sharepoint.jpg" height="240" width="320" /><media:thumbnail url="http://channel8.msdn.com/Link/1c8abf8f-fbff-41f3-baca-b4b79ecced83/" height="64" width="85" /><dc:creator>gogole</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://channel8.msdn.com/Posts/Introduction-to-Sharepoint/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/6350/Trackback.aspx</trackback:ping><category>MOSS</category><category>SharePoint</category><category>WSS</category></item><item><title>WS03 Introduction Part 1: ADDS [WS03 Introduction Part 1: ADDS]</title><description>&lt;h1&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Hi all,&lt;/p&gt;
&lt;p&gt;I’m Josh Bolling (TheContempt on the forums) and I hope to be your “WS03 Tour Guide” of sorts and guide you in some of the more basic practices and features included with the product in the beginning and move into more advanced concepts as time wears on. Today, we’ll begin with a quick tutorial on installing and configuring &lt;b&gt;Active Directory &lt;/b&gt;in WS03 as it’s a major foundational building block of most any production network or test lab. Plus, many other products from Microsoft, like Exchange, Forefront and System Center, need to leverage Active Directory to function properly.&lt;/p&gt;
&lt;h1&gt;A brief history of Active Directory&lt;/h1&gt;
&lt;p&gt;&lt;b&gt;Active Directory&lt;/b&gt;, or AD as it is more commonly known, was introduced with Windows 2000 Server and is, at its’ most basic level, a database similar to the Registry in Windows Client operating systems. However, it stores &lt;b&gt;Objects &lt;/b&gt;instead of application settings. Some of these objects include &lt;b&gt;Users&lt;/b&gt;, &lt;b&gt;Computers&lt;/b&gt;, &lt;b&gt;Organizational Units &lt;/b&gt;(OU) and &lt;b&gt;Groups&lt;/b&gt;. Active directory provides many benefits over a traditional Workgroup style environment, like:&lt;/p&gt;
&lt;p&gt;·         Extensibility&lt;/p&gt;
&lt;p&gt;·         Centralized Authentication&lt;/p&gt;
&lt;p&gt;·         Centralized Administration&lt;/p&gt;
&lt;h1&gt;Installation overview&lt;/h1&gt;
&lt;p&gt;To deploy Active Directory, please follow the steps below:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 1&lt;/b&gt;-Point to &lt;b&gt;Start &lt;/b&gt;&amp;gt; &lt;b&gt;Run&lt;/b&gt; and enter &lt;b&gt;dcpromo&lt;/b&gt; in the dialog. Please see Figure 1.1&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3oYJcU2hEh9yv09YdZ_qukCAJX1X8cf289ZCr_8ErUSi-FfyCqiM3V1I21RTT3cdc0K2Z1yiF1b6xQ_cLaFaw28l/image%201.jpg" /&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Figure 1.1-Run dialog&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 2&lt;/b&gt;-Review the Welcome screen and click &lt;b&gt;next &lt;/b&gt;to continue with the installation process. Please see Figure 1.2&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;&lt;/p&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3oboAEYIXLC6IA6XIaOZsMIt3_vnWGQ_9ASva8JpiB-ruOIeCUT9bYDpHKWXtOusQrCqpARTPt6XHyz1mN1a_-Sk/image%202.jpg" /&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;&lt;i&gt;Figure 1.2-Welcome screen&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 3&lt;/b&gt;- &lt;span&gt;Carefully&lt;/span&gt; review the OS Compatibility screen as it contains important information about legacy compatibility concerns when deploying Active Directory. Specifically, older versions of Windows client operating systems, like Windows 95 and NT 4.0, won’t function correctly within an Active Directory based environment. Click &lt;b&gt;next &lt;/b&gt;to proceed to the next step of the installation. Please see Figure 1.3 for a more detailed explanation.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3oZAu-Q46QdQOJaAimTMcqJaNqjHvRSv7Yp3WrE4iRA7n5gOT7FtPEv164emlMXBb6PttMzK2bCAcg4cV4sFCo1K/image%203.jpg" /&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Figure 1.3-OS compatibility warning&lt;/i&gt;
&lt;p&gt;&lt;i&gt; &lt;/i&gt;&lt;/p&gt;
&lt;h2&gt;Now begin the truly important steps&lt;/h2&gt;
&lt;p&gt;&lt;b&gt;Step 4&lt;/b&gt;-Now you’ll be presented with a couple choices. Each of which is equally important, but for the purposes of this guide, we’ll continue by choosing &lt;b&gt;Domain controller for a new domain&lt;/b&gt; and then choosing &lt;b&gt;next &lt;/b&gt;to proceed.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3oZY-i5Vmf9auwiHYzjPAsFVh7z77hyZj_O3EDdj5_SXn1Th9dd0AlG5l7W8r0czsFhWl5WeRrQVkaVipBvecXkm/image%204.jpg" /&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Figure 1.4-DC type selection&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 5&lt;/b&gt;-Choose &lt;b&gt;Domain in a new forest &lt;/b&gt;and click &lt;b&gt;next &lt;/b&gt;to continue.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3oYJV9h-w1foRgZ9J33TXKrN1hrFmQzvhHErBVjadFctSxLLNV12qILT6JO_ZFRWhM_hHKeuwB_VJCvn4xWqXw73/image%206.jpg" /&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Figure 1.5-Domain type selection&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 6&lt;/b&gt;-Enter the desired name for the Doman (while making sure it’s unique) and click &lt;b&gt;next &lt;/b&gt;to proceed.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3objeLedVCmwTUWdzYDASUEh8hDlcDPm134yFW9KlyZl1acDoehYVlkUF46yRKyOAISnFGDIb4c8v7YMR15yp1tO/image%207.jpg" /&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Figure 1.6-Domain name entry &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
(Special note: Once you click &lt;b&gt;next&lt;/b&gt;, the Wizard may appear to have frozen, it hasn’t. It’s merely checking to make sure the Domain name is globally unique-or doesn’t exist on the LAN.)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 7&lt;/b&gt;-Leave the &lt;b&gt;Domain NetBIOS name&lt;/b&gt; set to the default value and click &lt;b&gt;next &lt;/b&gt;to continue.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3oYwJlL-SKkZgsFpH3-z9ES6Zl8bBjaen63tcWcysgwKzwSB18EmIn9sXuUUHF0yKA1KGLiHxZKYkLJiVtvHOJXa/image%208.jpg" /&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Figure 1.7-NetBIOS name entry&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 8&lt;/b&gt;-Choose the location where the AD database itself as well as associated log files.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3obWdh1U_FJTQ05jbnskrF_tosSgOREaxogKS1YuxdFWsOtnXXtj7VWGJ3VprFkr21F_4X9v6ElaGR2WSyYyJNvT/image%209.jpg" /&gt;&lt;br /&gt;
 &lt;i&gt;&lt;br /&gt;
Figure 1.8-Databsae and log tile location&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;(Special note-These entries default to C:\WINDOWS\NTDS, &lt;br /&gt;
but it is accepted practice to place the AD database on a &lt;b&gt;separate physical hard&lt;/b&gt; disk if available. This will help with both performance and disaster recovery.)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 9&lt;/b&gt;-Select the location for the SYSVOL folder and click &lt;b&gt;next &lt;/b&gt;to continue.&lt;/p&gt;
&lt;p&gt;(Special note-Again, storing this directory on a separate hard disk drive would be best in a production environment.)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 10&lt;/b&gt;-Here, you’ll point to the option labeled &lt;b&gt;Install and configure the DNS service on this computer, and set this computer to use this DNS server as its preferred DNS server &lt;/b&gt;and click &lt;b&gt;next &lt;/b&gt;to continue.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3oaVAmrvJ9nQrSdPm4F1JtkuUKE9SYbEZpQNVuFETPqX2-MrXk0fOY6AWe1-hu15_yno2v87Ae_z45I8SdLVPPgV/image%2010.jpg" /&gt;&lt;br /&gt;
&lt;br /&gt;
Figure 1.9-DNS installation prompt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;                Step 10a&lt;/b&gt;-To provision a DNS server on the local machine, you must set a static IP address on at least one network interface. To do so please point to &lt;b&gt;Start &lt;/b&gt;&amp;gt; &lt;b&gt;Control Panel &lt;/b&gt;&amp;gt; &lt;b&gt;Network Connections&lt;/b&gt; &amp;gt; Right-click &lt;b&gt;Local Area Connection&lt;/b&gt; &amp;gt; choose &lt;b&gt;Properties&lt;/b&gt; &amp;gt; Choose Internet Protocol (TCP/IP) and choose &lt;b&gt;Properties.&lt;br /&gt;
&lt;/b&gt;&lt;b&gt;&lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3oaoZhoCxL4hgYEqAISNoca52iouGXT3XhlRkS9pVRFnLHtRX_CxMLV33M-5PiwskjWS2D2x0WE1HUFb1vpbn-1T/image%2011.jpg" /&gt; &lt;/b&gt;&lt;i&gt;&lt;br /&gt;
&lt;br /&gt;
Figure 2.1-Network connection properties&lt;/i&gt;&lt;b&gt;&lt;br /&gt;
&lt;br /&gt;
Step 10b&lt;/b&gt;-Now you’ll want to set the IP address of the Local Areas connection. To do this, please reference the Figure below, Altering settings where appropriate for your particular network environment. To apply these settings point to &lt;b&gt;OK &lt;/b&gt;and &lt;b&gt;Close &lt;/b&gt;on the subsequent dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3oZjiF34HO1RqFVbjMA5br2VGnzpzkUJGiQb--mvGKED5VT1XNvi8VBwc9P45D_P6VxCIRY_DL7bug4VopkNSq0Q/image%2012.jpg" /&gt; &lt;i&gt;&lt;br /&gt;
&lt;br /&gt;
Figure 2.2-Network settings&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 11&lt;/b&gt;-Here’ll you’ll want to choose &lt;b&gt;Permissions compatible with Windows 2000 or Windows Server 2003 operating systems &lt;/b&gt;and point to &lt;b&gt;next &lt;/b&gt;to continue.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3oaHZZjUKlzq2MDPeHfDtQcThDy18YX2-PON1knC8NcbQPMW-KF_jyYUxqH8a4JO2MLNFhRYesnO-5Ou4M-YINPs/image%2013.jpg" /&gt; &lt;i&gt;&lt;br /&gt;
&lt;br /&gt;
Figure 2.3-Permissions&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 12&lt;/b&gt;-Enter the desired value for the&lt;b&gt; Restore Mode Password&lt;/b&gt;. The password will prove invaluable if you ever need to demote the DC back to a member server or restore the Schema for any reason.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3oZWQJ2J-OlhC46n9ShYgTsEzQezLESEp94DlesInvARTWzc-Jh7OCMBYfx9J5LYexu_sQ8lUWppYXB-c8TMMPKW/image%2014.jpg" /&gt; &lt;i&gt;&lt;br /&gt;
&lt;br /&gt;
Figure 2.4-Recovery Mode Password entry&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 13 &lt;/b&gt;–&lt;span&gt;Carefully&lt;/span&gt; review the installation summary and click &lt;b&gt;next &lt;/b&gt;to begin the Active Directory installation. During the installation, you will see screens like those below: &lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3ob_S2-R4Mv8OggCXZ2q7PsfIPewgX87YRnnn2Iqz0FX2a1xkIvvyLkGCRbsbCYODDAnKxOsC8YQUZU9f_jPOxOx/image%2015.jpg" /&gt; &lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
Figure2.5-Installation summary&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;                &lt;/p&gt;
&lt;p&gt;                &lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3oa9A1q_ji-R7dxAEfvZFz5VnagsKic_po6uQoOfr6MOOkgWOXkPFbBd4wIqXsT48sfkJD1DDWoZFSL1M2ui5VtO/image%2016.jpg" /&gt; &lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
Figure 2.6-AD install dialog (1)&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;                &lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3oZUjmC00HpzXm5QH-1t7LnXhiHRYhPFlsi_ZPMrwT09EzrgLvYx9Le4B_nYYfQuWbH4alkGH-62keyKuBNZytse/image%2017.jpg" /&gt; &lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
Figure 2.7-AD install screen (2) (DNS)&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
(Special note: Make sure you have the WS03 installation CD handy or have access to a network share where the contents of the i386 directory are stored as some of those files will be needed by the installation process.)&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3oYHZ777qK-d_qbt0BJvBLiXkOVQabZVDEgz5v0tQ5RHeFHM9ZXrDeGJC-72cVdF_aU4cAvUYivv_rUjFK2TRpA9/image%2018.jpg" /&gt; &lt;i&gt;&lt;br /&gt;
&lt;br /&gt;
Figure 2.8-File copy prompt&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 14&lt;/b&gt;-That’s it! Once the machine has prompted you to reboot and has booted back into Windows you have a fully functioning Domain Controller ready to be filled with all sorts of fun objects! Congratulations!&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="https://lgazkg.bay.livefilestore.com/y1pkOSnpubE3obbayT8oi9aH5_gFcZnG0koRMAwUnxugn1WQLY2Tty5i560_pf8NwLKuX6GPJhVvLJDEJF7Pwu_yDeBNLH6867w/image%2019.jpg" /&gt; &lt;i&gt;&lt;br /&gt;
&lt;br /&gt;
Figure 2.9-Confirmation dialog&lt;/i&gt;&lt;/p&gt;
&lt;h1&gt;Conclusion&lt;/h1&gt;
&lt;p&gt;As you can see, the installation process for Active Directory is quite straightforward! However, it is &lt;b&gt;VERY &lt;/b&gt;important to master the installation process as Active directory is &lt;i&gt;the &lt;/i&gt;largest building block in relation to production networks that leverage Windows Server. Look forward to the conclusion of this series of articles in which we’ll wrap up AD with an explanation of adding Users and Groups to Active Directory and step through getting a client machine connected to the domain. Thanks for reading!&lt;/p&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Posts/WS03-Introduction-Part-1-ADDS/'&gt;WS03 Introduction Part 1: ADDS&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/6040/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Posts/WS03-Introduction-Part-1-ADDS/</comments><link>http://channel8.msdn.com/Posts/WS03-Introduction-Part-1-ADDS/</link><pubDate>Thu, 15 May 2008 21:50:00 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Posts/WS03-Introduction-Part-1-ADDS/</guid><evnet:views>13928</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/6040/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;h1&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Hi all,&lt;/p&gt;
&lt;p&gt;I’m Josh Bolling (TheContempt on the forums) and I hope to be your “WS03 Tour Guide” of sorts and guide you in some of the more basic practices and features included with the product in the beginning and move into more advanced concepts as time wears on. Today, we’ll begin with a quick tutorial on installing and configuring &lt;b&gt;Active Directory &lt;/b&gt;in WS03 as it’s a major foundational building block of most any production network or test lab. Plus, many other products from Microsoft, like Exchange, Forefront and System Center, need to leverage Active Directory to function properly.&lt;/p&gt;</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://channel8.msdn.com/Posts/WS03-Introduction-Part-1-ADDS/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/6040/Trackback.aspx</trackback:ping><category>active directory</category><category>ws08</category></item><item><title>Exceptions [Exceptions]</title><description>&lt;p&gt;In the .NET programming sphere, code that feels like it might generate exceptions is put in a try{} block which would sound an alarm whenever one of these occur during execution. This "thrown" exception is caught by a catch {} block and handled appropriately.&lt;/p&gt;
&lt;p&gt;Even though this feature makes our programming lives easier it has a drawback being a certain reduction in performance. This means that the number of exceptions thrown is inversely proportional to your application's performance. There are other operations in .NET that have similar effects, like boxing and unboxing of value types.&lt;/p&gt;
&lt;p&gt;I ran a little test to check this out. I intentionally produced an exception and handled it while measuring the time it took to do this. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;            int[] Array = null; //not instantiated&lt;/p&gt;
&lt;p&gt;            Stopwatch watch = new Stopwatch();&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;            try&lt;/p&gt;
&lt;p&gt;            {&lt;/p&gt;
&lt;p&gt;                watch.Start();&lt;/p&gt;
&lt;p&gt;                Array[0] = 1;//exception thrown&lt;/p&gt;
&lt;p&gt;            }&lt;/p&gt;
&lt;p&gt;            catch (NullReferenceException)&lt;/p&gt;
&lt;p&gt;            {&lt;/p&gt;
&lt;p&gt;                watch.Stop();&lt;/p&gt;
&lt;p&gt;                Console.WriteLine(watch.ElapsedMilliseconds +"ms");&lt;/p&gt;
&lt;p&gt;            }&lt;/p&gt;
&lt;p&gt;            watch.Reset();&lt;/p&gt;
&lt;p&gt;            Console.ReadLine();&lt;/p&gt;
&lt;p&gt;       &lt;/p&gt;
&lt;p&gt;I got 23ms as an average of three executions. To serve as comparison I used a foreach construct to iterate a numeric array. &lt;/p&gt;
&lt;p&gt;int[] numArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };&lt;/p&gt;
&lt;p&gt;            Stopwatch watch = new Stopwatch();&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;            watch.Start();&lt;/p&gt;
&lt;p&gt;            foreach (int number in numArray)&lt;/p&gt;
&lt;p&gt;            {&lt;/p&gt;
&lt;p&gt;                Console.WriteLine(number);&lt;/p&gt;
&lt;p&gt;            }&lt;/p&gt;
&lt;p&gt;            watch.Stop();&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;            Console.WriteLine();&lt;/p&gt;
&lt;p&gt;            Console.WriteLine(watch.ElapsedMilliseconds + "ms");&lt;/p&gt;
&lt;p&gt;            Console.ReadLine();&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;I got 4ms as an average of three executions. &lt;/p&gt;
&lt;p&gt;With these results I would say that the process of throwing and handling exceptions is quite slow. &lt;/p&gt;
&lt;p&gt;But that alone does not justify avoiding them. Exceptions should be thrown when needed. Your code would be better off having just the right quantity of exception throwing and handling structures than none, which could bite you pretty hard at runtime.&lt;/p&gt;
&lt;p&gt;Exception-safe code is your best bet to minimizing the number of exceptions thrown instead of throwing them at the slightest provocation. Take a look at this code:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;public string[] Getnames()&lt;/p&gt;
&lt;p&gt;        {&lt;/p&gt;
&lt;p&gt;            string[] array = null;&lt;/p&gt;
&lt;p&gt;            if (/* new names are available */)&lt;/p&gt;
&lt;p&gt;            {&lt;/p&gt;
&lt;p&gt;                //populate the array with names&lt;/p&gt;
&lt;p&gt;                return array;&lt;/p&gt;
&lt;p&gt;            }&lt;/p&gt;
&lt;p&gt;            return array;&lt;/p&gt;
&lt;p&gt;        }&lt;/p&gt;
&lt;p&gt;public void PrintNames(string[] nameArray)&lt;/p&gt;
&lt;p&gt;        {&lt;/p&gt;
&lt;p&gt;            foreach (string name in nameArray)&lt;/p&gt;
&lt;p&gt;            {&lt;/p&gt;
&lt;p&gt;                //print the name&lt;/p&gt;
&lt;p&gt;            }&lt;/p&gt;
&lt;p&gt;        }&lt;/p&gt;
&lt;p&gt;The PrintNames method could unnecessarily throw an ArgumentNull exception if there are no names to populate the string array.&lt;/p&gt;
&lt;p&gt;The problem between these two methods is the state of the return type of GetNames() .If there are no names when GetNames() is called then the returned array would be null.&lt;/p&gt;
&lt;p&gt;string[] array = null;&lt;/p&gt;
&lt;p&gt;         .............&lt;/p&gt;
&lt;p&gt;            return array;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;In order to avoid an ArgumentNull exception when calling PrintNames() a defualt array could be returned when there aren’t any new names to populate the array with.The reifned code would look like this:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;public string[] Getnames()&lt;/p&gt;
&lt;p&gt;        {&lt;/p&gt;
&lt;p&gt;            string[] array = null;&lt;/p&gt;
&lt;p&gt;            if (/* names are available */)&lt;/p&gt;
&lt;p&gt;            {&lt;/p&gt;
&lt;p&gt;                //populate the array with names&lt;/p&gt;
&lt;p&gt;                return array;&lt;/p&gt;
&lt;p&gt;            }&lt;/p&gt;
&lt;p&gt;            return new string[0];&lt;/p&gt;
&lt;p&gt;        }&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Using default states over null(the almighty) saves you some exception hassle ,the trade-off though is memory resource.Little changes like this definitely help make your code better .Happy coding :)&lt;/p&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Posts/Exceptions/'&gt;Exceptions&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/6014/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Posts/Exceptions/</comments><link>http://channel8.msdn.com/Posts/Exceptions/</link><pubDate>Thu, 15 May 2008 01:05:00 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Posts/Exceptions/</guid><evnet:views>13941</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/6014/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In the .NET programming sphere, code that feels like it might generate exceptions is put in a try{} block which would sound an alarm whenever one of these occur during execution. This "thrown" exception is caught by a catch {} block and handled appropriately.</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>11</slash:comments><wfw:commentRss>http://channel8.msdn.com/Posts/Exceptions/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/6014/Trackback.aspx</trackback:ping></item><item><title>Brushes for Expression Design : foliage brushes [Brushes for Expression Design : foliage brushes]</title><description>&lt;img src="http://channel8.msdn.com/Link/65b95885-efb8-4208-8a1c-6ae934f2e184/" border="0" /&gt;I present to you the newest set of free brushes/strokes for Expression Design : &lt;a href="http://bittbox.com/"&gt;Bittbox's&lt;/a&gt; foliage brushes. Download the &lt;a href="http://cid-9d795007176c8bd8.skydrive.live.com/self.aspx/Public/foilage%20brushes.zip"&gt;file&lt;/a&gt;, read the "how to" in the file and you are good to go. Have fun experimenting.&lt;br /&gt;
&lt;br /&gt;
If you are wondering where the first set of brushes are then check &lt;a href="http://channel8.msdn.com/Posts/Brushes-for-Expression-Design/"&gt;this&lt;/a&gt; out.&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Posts/brushes-for-Expression-Design--foilage-brushes/'&gt;Brushes for Expression Design : foliage brushes&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/5467/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Posts/brushes-for-Expression-Design--foilage-brushes/</comments><link>http://channel8.msdn.com/Posts/brushes-for-Expression-Design--foilage-brushes/</link><pubDate>Mon, 28 Apr 2008 22:22:00 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Posts/brushes-for-Expression-Design--foilage-brushes/</guid><evnet:views>12940</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/5467/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I present to you the newest set of free brushes/strokes for Expression Design : Bittbox's foliage brushes. Download the file, read the "how to" in the file and you are good to go. Have fun experimenting.

If you are wondering where the first set of brushes are then check this out.in reply to Brushes&amp;#8230;</evnet:previewtext><media:thumbnail url="http://channel8.msdn.com/Link/df363142-3d7a-4cae-b71e-ec44d1716c9a/" height="240" width="320" /><media:thumbnail url="http://channel8.msdn.com/Link/65b95885-efb8-4208-8a1c-6ae934f2e184/" height="64" width="85" /><dc:creator>gogole</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel8.msdn.com/Posts/brushes-for-Expression-Design--foilage-brushes/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/5467/Trackback.aspx</trackback:ping><category>Brushes</category><category>Expression Design</category></item><item><title>What makes LINQ's query operators tick ? [What makes LINQ's query operators tick ?]</title><description>&lt;img src="http://channel8.msdn.com/Link/7718de22-6dae-4dd2-8953-82bd3eac63b0/" border="0" /&gt;&lt;pre&gt;int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, &lt;br /&gt;
12, 13, 14, 15, 16, 17, 18, 19, 20 };&lt;br /&gt;
&amp;nbsp; IEnumerable&amp;lt;int&amp;gt; oddNumbers = numbers.Where(i =&amp;gt; (i &amp;amp; 1) == 1);&lt;br /&gt;
&lt;/pre&gt;
.And a sequence of odd numbers in that array is done .Sweet isn't it ?Have you ever wondered what features of C# and. Net linq's query operators used ? No ? Ok then lets go through the .where() operator's structure to show the various components. First lets take a look at the .where() operator's&amp;nbsp; first prototype.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;public static IEnumerable&amp;lt;T&amp;gt; Where&amp;lt;T&amp;gt;(&lt;br /&gt;
this IEnumerable&amp;lt;T&amp;gt; source,&lt;br /&gt;
Func&amp;lt;T, bool&amp;gt; predicate);&lt;/pre&gt;
&lt;br /&gt;
looking at this prototype the return type it clearly seen to be of type IEnumerable&amp;lt;T&amp;gt;,thus the where operator can any type that supports an IEnumerable&amp;lt;T&amp;gt; interface.&lt;br /&gt;
&lt;br /&gt;
Now to the generic method Where&amp;lt;T&amp;gt;(). the first parameter of this method is an IEnumerable&amp;lt;T&amp;gt; object called source. Note the modifier "this" because it says&amp;nbsp; a lot&amp;nbsp; about the&amp;nbsp; where() operator. What does it say ?first of all the modifier "this" to the IEnumerable&amp;lt;T&amp;gt; type&amp;nbsp; shows that the where() operator is an extension method of the IEnumerable&amp;lt;T&amp;gt; interface .Meaning that the actual Where method is located in a different class which is static&amp;nbsp; and being extended to act as an instance member of it's first parameter's type&amp;nbsp; (IEnumerable &amp;lt;T&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
The second parameter is a method delegate called predicate that returns a boolean value.This delegate supports a lambda expression as it's parameter which enables us to write code like this : i =&amp;gt; i &amp;gt; 20. Note the&amp;nbsp; lambda operator&amp;nbsp; (=&amp;gt;) .&lt;br /&gt;
&lt;br /&gt;
And that's it !The inner workings of Linq are understandable as you can see. Know your way with it and you 'd become a pro LINQer :P .Happy coding&lt;br /&gt;
&lt;br /&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Posts/What-makes-LINQs-query-operators-tick-/'&gt;What makes LINQ's query operators tick ?&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/5092/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Posts/What-makes-LINQs-query-operators-tick-/</comments><link>http://channel8.msdn.com/Posts/What-makes-LINQs-query-operators-tick-/</link><pubDate>Mon, 14 Apr 2008 15:36:00 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Posts/What-makes-LINQs-query-operators-tick-/</guid><evnet:views>18300</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/5092/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Have you ever wondered what features of C# and. Net linq's query operators used ? No ?Ok then lets go through the .where() operator's structure to show the various components.</evnet:previewtext><media:thumbnail url="http://channel8.msdn.com/Link/23765969-5f84-47c5-99c2-3e0096eb8e09/" height="240" width="320" /><media:thumbnail url="http://channel8.msdn.com/Link/7718de22-6dae-4dd2-8953-82bd3eac63b0/" height="64" width="85" /><dc:creator>gogole</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://channel8.msdn.com/Posts/What-makes-LINQs-query-operators-tick-/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/5092/Trackback.aspx</trackback:ping><category>Extension methods</category><category>LINQ</category></item><item><title>What games do you play ? [What games do you play ?]</title><description>I play mostly pc games, UT2004,Half life 2: all episodes,Ssx tour (ps2). My favorite is the Half life series,best game ever made (my opinion) .So what about you ?&lt;br /&gt;&lt;br /&gt;update : oh no ,this was supposed to be in the student union section ,sorry guys.&lt;br /&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Forums/DreamSparkDiscussion/4962-What-games-do-you-play-/'&gt;What games do you play ?&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/4962/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Forums/DreamSparkDiscussion/4962-What-games-do-you-play-/</comments><link>http://channel8.msdn.com/Forums/DreamSparkDiscussion/4962-What-games-do-you-play-/</link><pubDate>Fri, 11 Apr 2008 15:05:36 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Forums/DreamSparkDiscussion/4962-What-games-do-you-play-/</guid><evnet:views>195</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/4962/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I play mostly pc games, UT2004,Half life 2: all episodes,Ssx tour (ps2). My favorite is the Half life series,best game ever made (my opinion) .So what about you ?update : oh no ,this was supposed to be in the student union section ,sorry guys.in reply to What games do you play ?</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>25</slash:comments><wfw:commentRss>http://channel8.msdn.com/Forums/DreamSparkDiscussion/4962-What-games-do-you-play-/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/4962/Trackback.aspx</trackback:ping></item><item><title>Brushes for Expression Design [Brushes for Expression Design]</title><description>&lt;img src="http://channel8.msdn.com/Link/0a6aec00-3390-4590-92e8-030c6460acee/" border="0" /&gt;&lt;p class="MsoNormal"&gt;Need professional, cool looking brushes for your project? Oh, like the ones designers that use Adobe Illustrator have?But you have Microsoft Expression Design? Not to worry I’m bringing those brushes to you. &lt;a href="http://bittbox.com/"&gt;Bittbox&lt;/a&gt;  , a professional designer gave me permission to import his brushes originally for Adobe's Illustrator and Photoshop to Expression Design. I have finished the first set of those brushes : Bittbox’s watercolor brushes. &lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;Download the .zip file &lt;a href="http://cid-9d795007176c8bd8.skydrive.live.com/self.aspx/Public/Bittbox%20watercolor%20brushes.zip"&gt;here&lt;/a&gt;&lt;/span&gt;, read the “how-to” which is in the .zip file and have fun experimenting with those brushes. &lt;/p&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Posts/Brushes-for-Expression-Design/'&gt;Brushes for Expression Design&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/4938/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Posts/Brushes-for-Expression-Design/</comments><link>http://channel8.msdn.com/Posts/Brushes-for-Expression-Design/</link><pubDate>Thu, 10 Apr 2008 11:50:00 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Posts/Brushes-for-Expression-Design/</guid><evnet:views>194</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/4938/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;p class="MsoNormal"&gt;Need professional, cool looking brushes for your project? Oh, like the ones designers that use Adobe Illustrator have?But you have Microsoft Expression Design? Not to worry I’m bringing those brushes to you. &lt;a href="http://bittbox.com/"&gt;Bittbox&lt;/a&gt;  , a professional designer gave me permission to import his brushes originally for Adobe's Illustrator and Photoshop to Expression Design. I have finished the first set of those brushes : Bittbox’s watercolor brushes. &lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://channel8.msdn.com/Link/da4b64c7-83d4-4634-9a08-8d0d41d90d05/" height="240" width="320" /><media:thumbnail url="http://channel8.msdn.com/Link/0a6aec00-3390-4590-92e8-030c6460acee/" height="64" width="85" /><dc:creator>gogole</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://channel8.msdn.com/Posts/Brushes-for-Expression-Design/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/4938/Trackback.aspx</trackback:ping><category>Brushes</category><category>Expression Design</category></item><item><title>Metaweblog anyone ? [Metaweblog anyone ?]</title><description>I've been pulling my hair out trying to support this API in the app that continental-8 is building . Could you guys help me with this.In the &lt;a href="http://cookcomputing.com"&gt;cookcomputing.xmlrpcv2.dll&lt;/a&gt; i did not find any Authenticate() method in any of the classes .Is the request authenticated with the Credentials of the proxy at the server ? Which Url's would i have to send my requests to if u&amp;nbsp; i wanted to access a live.spaces blog,wordpress blog and finally&amp;nbsp; a blogger&amp;nbsp; blog , i think blogger is not supported by&amp;nbsp; the meteweblog API but derives directly from XML-RPC as another API&amp;nbsp; .thanks :)&lt;br /&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Forums/DreamSparkDiscussion/4794-Metaweblog-anyone-/'&gt;Metaweblog anyone ?&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/4794/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Forums/DreamSparkDiscussion/4794-Metaweblog-anyone-/</comments><link>http://channel8.msdn.com/Forums/DreamSparkDiscussion/4794-Metaweblog-anyone-/</link><pubDate>Mon, 07 Apr 2008 20:02:47 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Forums/DreamSparkDiscussion/4794-Metaweblog-anyone-/</guid><evnet:views>70</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/4794/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I've been pulling my hair out trying to support this API in the app that continental-8 is building . Could you guys help me with this.In the cookcomputing.xmlrpcv2.dll i did not find any Authenticate() method in any of the classes .Is the request authenticated with the Credentials of the proxy at&amp;#8230;</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel8.msdn.com/Forums/DreamSparkDiscussion/4794-Metaweblog-anyone-/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/4794/Trackback.aspx</trackback:ping></item><item><title>C8,time for a makeover  [C8,time for a makeover ]</title><description>I think it's time the C8 team did something about the site's flaws and bugs, the complaints are really pilling up and it would be good for everyone if things get fixed. first on the list is the page rendering problems when using IE , and yes i Know there is a work-around to that but are you willing to Ctrl+F5'ing and clearing your cache all the time ? Dreamspark issues are also on the rise, corrupt downloads using the *recommended* DLM .C8 is a great community lets make it much better by fixing these bugs .Did i miss any bugs ? Add them to the list then . And again work-arounds are not enough, it just has to work right .Thank you :)&lt;br /&gt;&lt;br /&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Forums/StudentUnion/4490-C8time-for-a-makeover/'&gt;C8,time for a makeover &lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/4490/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Forums/StudentUnion/4490-C8time-for-a-makeover/</comments><link>http://channel8.msdn.com/Forums/StudentUnion/4490-C8time-for-a-makeover/</link><pubDate>Wed, 02 Apr 2008 16:07:56 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Forums/StudentUnion/4490-C8time-for-a-makeover/</guid><evnet:views>226</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/4490/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I think it's time the C8 team did something about the site's flaws and bugs, the complaints are really pilling up and it would be good for everyone if things get fixed. first on the list is the page rendering problems when using IE , and yes i Know there is a work-around to that but are you willing&amp;#8230;</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>14</slash:comments><wfw:commentRss>http://channel8.msdn.com/Forums/StudentUnion/4490-C8time-for-a-makeover/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/4490/Trackback.aspx</trackback:ping></item><item><title>.Net framework section ,what do you think ? [.Net framework section ,what do you think ?]</title><description>i had this idea that i think would be very beneficial to all of us :Channel 8 having a .Net framework section. basically what will go on in this section would be discussion of classes and features of the framework. Every week there would be a post or screencast about a specific class in the framework which would outline the features of the class,when it is advisable to use it&amp;nbsp; etc.This would really help all of us especially&amp;nbsp; CS students get an overview of the framework and make it easier for us to use it in our projects without getting confused about which class to use. so what do you think ?&lt;br /&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Forums/StudentUnion/3609-Net-framework-section-what-do-you-think-/'&gt;.Net framework section ,what do you think ?&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/3609/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Forums/StudentUnion/3609-Net-framework-section-what-do-you-think-/</comments><link>http://channel8.msdn.com/Forums/StudentUnion/3609-Net-framework-section-what-do-you-think-/</link><pubDate>Thu, 06 Mar 2008 19:20:30 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Forums/StudentUnion/3609-Net-framework-section-what-do-you-think-/</guid><evnet:views>66</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/3609/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>i had this idea that i think would be very beneficial to all of us :Channel 8 having a .Net framework section. basically what will go on in this section would be discussion of classes and features of the framework. Every week there would be a post or screencast about a specific class in the&amp;#8230;</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://channel8.msdn.com/Forums/StudentUnion/3609-Net-framework-section-what-do-you-think-/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/3609/Trackback.aspx</trackback:ping></item><item><title>Games on the zune ! What do you think ? [Games on the zune ! What do you think ?]</title><description>If you didn't know about this check &lt;a href="http://lloydhumphreys.com"&gt;Lloyd's&lt;/a&gt; blog or &lt;a href="http://gogoled.blogspot.com/"&gt;mine&lt;/a&gt; for the info.&lt;br /&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Forums/StudentUnion/2590-Games-on-the-zune--What-do-you-think-/'&gt;Games on the zune ! What do you think ?&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/2590/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Forums/StudentUnion/2590-Games-on-the-zune--What-do-you-think-/</comments><link>http://channel8.msdn.com/Forums/StudentUnion/2590-Games-on-the-zune--What-do-you-think-/</link><pubDate>Fri, 22 Feb 2008 08:17:09 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Forums/StudentUnion/2590-Games-on-the-zune--What-do-you-think-/</guid><evnet:views>133</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/2590/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>If you didn't know about this check Lloyd's blog or mine for the info.in reply to Games on the zune ! What do you think ?</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>13</slash:comments><wfw:commentRss>http://channel8.msdn.com/Forums/StudentUnion/2590-Games-on-the-zune--What-do-you-think-/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/2590/Trackback.aspx</trackback:ping></item><item><title>Dreamspark,what about Africa ? [Dreamspark,what about Africa ?]</title><description>I was pretty excited about the whole Dreamspark Idea till i found out the hard way that Africa was not supported yet.C'mon Microsoft their are CS students in Africa too.I know Dreamspark just Started and i should probably cut it some slack and see .Microsoft just don't forget to include Ghanaian universities.And if you guys know anything about this that i don't,use the comment button. :)&lt;br /&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Forums/DreamSparkDiscussion/2163-Dreamsparkwhat-about-Africa-/'&gt;Dreamspark,what about Africa ?&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/2163/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Forums/DreamSparkDiscussion/2163-Dreamsparkwhat-about-Africa-/</comments><link>http://channel8.msdn.com/Forums/DreamSparkDiscussion/2163-Dreamsparkwhat-about-Africa-/</link><pubDate>Tue, 19 Feb 2008 15:28:12 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Forums/DreamSparkDiscussion/2163-Dreamsparkwhat-about-Africa-/</guid><evnet:views>121</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/2163/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I was pretty excited about the whole Dreamspark Idea till i found out the hard way that Africa was not supported yet.C'mon Microsoft their are CS students in Africa too.I know Dreamspark just Started and i should probably cut it some slack and see .Microsoft just don't forget to include Ghanaian&amp;#8230;</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>9</slash:comments><wfw:commentRss>http://channel8.msdn.com/Forums/DreamSparkDiscussion/2163-Dreamsparkwhat-about-Africa-/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/2163/Trackback.aspx</trackback:ping></item><item><title>inviting you all to my blog [inviting you all to my blog]</title><description>Hi guys,I've just finished creating my blog and already started posting.i'll be blogging about technology which i know you guys are into&amp;nbsp; .In this discussion we( the readers and i ) will scrutinize the code to and improve the code or add more functionality.This i believe will help me and the readers (hopefully you guys) increase our knowledge in the field and be better programmers thus we'll be living our dreams of being proficient coders&amp;nbsp; .Please check it out &lt;a href="http://gogoled.blogger.com"&gt;here&lt;/a&gt; .Thank you :)&lt;br /&gt;update : i had to scrap the old blog and move to this one&lt;br /&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Forums/StudentUnion/1856-inviting-you-all-to-my-blog/'&gt;inviting you all to my blog&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/1856/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Forums/StudentUnion/1856-inviting-you-all-to-my-blog/</comments><link>http://channel8.msdn.com/Forums/StudentUnion/1856-inviting-you-all-to-my-blog/</link><pubDate>Thu, 07 Feb 2008 14:48:33 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Forums/StudentUnion/1856-inviting-you-all-to-my-blog/</guid><evnet:views>119</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/1856/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Hi guys,I've just finished creating my blog and already started posting.i'll be blogging about technology which i know you guys are into&amp;nbsp; .In this discussion we( the readers and i ) will scrutinize the code to and improve the code or add more functionality.This i believe will help me and the&amp;#8230;</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://channel8.msdn.com/Forums/StudentUnion/1856-inviting-you-all-to-my-blog/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/1856/Trackback.aspx</trackback:ping></item><item><title>Error [Error]</title><description>Channel 8 admins, i'm currently having some problems with the site, first of all when i sign in i do not appear on "who is online segment" of the site and i can't post (tried to post in the silverlight idea thread : the add button did not respond ).&lt;br /&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Forums/StudentUnion/1644-Error/'&gt;Error&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/1644/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Forums/StudentUnion/1644-Error/</comments><link>http://channel8.msdn.com/Forums/StudentUnion/1644-Error/</link><pubDate>Sun, 27 Jan 2008 21:54:13 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Forums/StudentUnion/1644-Error/</guid><evnet:views>91</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/1644/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Channel 8 admins, i'm currently having some problems with the site, first of all when i sign in i do not appear on "who is online segment" of the site and i can't post (tried to post in the silverlight idea thread : the add button did not respond ).in reply to Error</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://channel8.msdn.com/Forums/StudentUnion/1644-Error/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/1644/Trackback.aspx</trackback:ping></item><item><title>Should there be Expression blend express [Should there be Expression blend express]</title><description>I downloaded the express editions of VS 2008 today and this question popped up in my head: should there be Expression blend express.What do&amp;nbsp; you think. :)&lt;br /&gt;&lt;p&gt;in reply to &lt;a href='http://channel8.msdn.com/Forums/StudentUnion/1535-Should-there-be-Expression-blend-express/'&gt;Should there be Expression blend express&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel8.msdn.com/1535/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel8.msdn.com/Forums/StudentUnion/1535-Should-there-be-Expression-blend-express/</comments><link>http://channel8.msdn.com/Forums/StudentUnion/1535-Should-there-be-Expression-blend-express/</link><pubDate>Tue, 22 Jan 2008 23:32:52 GMT</pubDate><guid isPermaLink="true">http://channel8.msdn.com/Forums/StudentUnion/1535-Should-there-be-Expression-blend-express/</guid><evnet:views>307</evnet:views><evnet:viewtrackingurl>http://channel8.msdn.com/1535/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I downloaded the express editions of VS 2008 today and this question popped up in my head: should there be Expression blend express.What do&amp;nbsp; you think. :)in reply to Should there be Expression blend express</evnet:previewtext><dc:creator>gogole</dc:creator><slash:comments>8</slash:comments><wfw:commentRss>http://channel8.msdn.com/Forums/StudentUnion/1535-Should-there-be-Expression-blend-express/RSS/</wfw:commentRss><trackback:ping>http://channel8.msdn.com/1535/Trackback.aspx</trackback:ping></item></channel></rss>