<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.netindonesia.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Wely</title><subtitle type="html">The Promise, The Limits, The Beauty of Software</subtitle><id>http://geeks.netindonesia.net/blogs/wely/atom.aspx</id><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/default.aspx" /><link rel="self" type="application/atom+xml" href="http://geeks.netindonesia.net/blogs/wely/atom.aspx" /><generator uri="http://communityserver.org" version="3.1.20917.1142">Community Server</generator><updated>2009-10-25T23:10:12Z</updated><entry><title>VSTS Dev Edition Demo at NTU’s STPA Class</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2010/03/04/vsts-dev-edition-demo-at-ntu-s-stpa-class.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2010/03/04/vsts-dev-edition-demo-at-ntu-s-stpa-class.aspx</id><published>2010-03-04T05:10:00Z</published><updated>2010-03-04T05:10:00Z</updated><content type="html">&lt;p&gt;Last Tuesday, It’s a great pleasure to have a chance to share my experience with my classmates / master students in &lt;a href="http://www.ntu.edu.sg/Pages/default.aspx"&gt;NTU&lt;/a&gt; who are taking the &lt;a href="http://www3.ntu.edu.sg/home/assfoo/course.htm"&gt;Software Testing and Performance Analysis Course&lt;/a&gt;. Thanks to &lt;a href="http://www3.ntu.edu.sg/home/assfoo/"&gt;Professor Schubert Foo&lt;/a&gt; for inviting me as guest speaker to share some practical and industrial experience which is associated with Software Testing and Performance Analysis matter. In a nutshell, Software Testing and Performance Analysis course covers about software test process and principle, test technique, computer-aided and automation testing tools, best practices, and case studies. &lt;/p&gt;  &lt;p&gt;It’s an interesting course that combines theoretical and conceptual perspective as well as industrial practical experience. Because it’s pretty important to get some idea of practical software testing product, Professor Foo suggested me to share my experience when using VSTS, and I happily agreed.&lt;/p&gt;  &lt;p&gt;Talking about computer-aided and automation testing tools, of course my favorite one is VSTS. While VSTS itself is actually a huge topic to talk, I try to trim and fit it with the course specifically on software testing and performance analysis. &lt;/p&gt;  &lt;p&gt;As the result of the discussion with Professor Foo, on the the first part (which has been done on last Tuesday), I talked about VSTS Development Edition, how it could improve the software “code quality”. Since a lot of the students were not familiar with VSTS, so that I described VSTS briefly with a few screenshot slides. Subsequently, the core material took place which I did the demonstration about: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Code Analysis: how it ensures developer to write a consistent, standard, and best practice code &lt;/li&gt;    &lt;li&gt;Code Metric: how it gives us a snapshot of our software health through five different metrics &lt;/li&gt;    &lt;li&gt;Profiling: how it helps developer to do performance investigation &lt;/li&gt;    &lt;li&gt;Unit Testing and Code Coverage: how it verifies the code produces something that it supposes to be &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Most of the demo, I used Visual Studio 2008. However, I also highlighted the difference between VS 2008 and VS 2010 in term of Profiling which significantly create big impact in helping developer. For more detail, feel free to download my presentation slide &lt;a href="http://cid-65cab324bf3c89cf.skydrive.live.com/self.aspx/STPA/VSTS%5E_STPAv3.pptx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The followings are some of the photos taken by my buddy, Anthony. Thanks, Bro!&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://geeks.netindonesia.net/blogs/wely/DSCN0673_03174610.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DSCN0673" border="0" alt="DSCN0673" src="http://geeks.netindonesia.net/blogs/wely/DSCN0673_thumb_45B645AE.jpg" width="244" height="184" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://geeks.netindonesia.net/blogs/wely/DSCN0653_5BBCB140.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DSCN0653" border="0" alt="DSCN0653" src="http://geeks.netindonesia.net/blogs/wely/DSCN0653_thumb_5A67F294.jpg" width="244" height="184" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://geeks.netindonesia.net/blogs/wely/DSCN0666_08FDFB77.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DSCN0666" border="0" alt="DSCN0666" src="http://geeks.netindonesia.net/blogs/wely/DSCN0666_thumb_3E36E80F.jpg" width="244" height="184" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://geeks.netindonesia.net/blogs/wely/DSCN0692_6F75ACA2.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DSCN0692" border="0" alt="DSCN0692" src="http://geeks.netindonesia.net/blogs/wely/DSCN0692_thumb_2737CAF9.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&amp;#160;&lt;a href="http://geeks.netindonesia.net/blogs/wely/DSCN0664_4BE8E270.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DSCN0664" border="0" alt="DSCN0664" src="http://geeks.netindonesia.net/blogs/wely/DSCN0664_thumb_6B1B6376.jpg" width="244" height="184" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://geeks.netindonesia.net/blogs/wely/DSCN0686_41C41B78.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DSCN0686" border="0" alt="DSCN0686" src="http://geeks.netindonesia.net/blogs/wely/DSCN0686_thumb_38E3ED5F.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I think Professor Foo have done the recording as well. I’ll try to find it and put it at this blog if possible.&lt;/p&gt;  &lt;p&gt;On the second part (next Tuesday, 9 March 2010), I’ll talk about VSTS Tester Edition, including Web Test, Load Test, Stress Test, etc.&lt;/p&gt;  &lt;p&gt;Hope these helps &lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Wely Lau&lt;/p&gt;  &lt;p&gt;Microsoft MVP, Visual C#&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2010/03/04/vsts-dev-edition-demo-at-ntu-s-stpa-class.aspx&amp;amp;subject=VSTS Dev Edition Demo at NTU’s STPA Class" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2010/03/04/vsts-dev-edition-demo-at-ntu-s-stpa-class.aspx&amp;amp;t=VSTS+Dev+Edition+Demo+at+NTU%e2%80%99s+STPA+Class" target="_blank" title="Submit VSTS Dev Edition Demo at NTU’s STPA Class to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/03/04/vsts-dev-edition-demo-at-ntu-s-stpa-class.aspx&amp;amp;title=VSTS+Dev+Edition+Demo+at+NTU%e2%80%99s+STPA+Class" target="_blank" title="Submit VSTS Dev Edition Demo at NTU’s STPA Class to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/03/04/vsts-dev-edition-demo-at-ntu-s-stpa-class.aspx&amp;amp;phase=2" target="_blank" title="Submit VSTS Dev Edition Demo at NTU’s STPA Class to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2010/03/04/vsts-dev-edition-demo-at-ntu-s-stpa-class.aspx&amp;amp;title=VSTS+Dev+Edition+Demo+at+NTU%e2%80%99s+STPA+Class" target="_blank" title="Add VSTS Dev Edition Demo at NTU’s STPA Class to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=186154" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term="VSTS" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/VSTS/default.aspx" /><category term="Visual Studio 2010" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Visual+Studio+2010/default.aspx" /></entry><entry><title>Silverlight 4.0 Training Kit</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2010/02/09/silverlight-4-0-training-kit.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2010/02/09/silverlight-4-0-training-kit.aspx</id><published>2010-02-09T16:53:00Z</published><updated>2010-02-09T16:53:00Z</updated><content type="html">&lt;p&gt;If you are interesting in exploring Silverlight 4.0, this training kit could be useful for you.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=24cea29e-042e-41c9-aa16-684a0ca5f5db"&gt;&lt;img style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;" title="image" border="0" alt="image" src="http://geeks.netindonesia.net/blogs/wely/image_01CAA330.png" width="452" height="238" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;The Silverlight 4 Training Course includes hands-on-labs, a video and a whitepaper designed to help you learn about the new features in Silverlight 4 focusing on three major areas: Enabling Business Application Development, Empowering Richer Experiences and Moving Beyond the Browser. Some of the new highly anticipated features include Printing, WebCam and Microphone support, custom right-click, rich text, HTML support and access to local files with trusted applications &lt;/p&gt;
&lt;p&gt;This Developer Training Kit includes Hands-on-Lab (HOL) documentation and sample projects. The kit is a companion package for an online course. Please refer to the resource links below in order to access the course. Additional resources are provided online including demonstration videos. &lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=24cea29e-042e-41c9-aa16-684a0ca5f5db"&gt;Click here to download the training kit here.&lt;/a&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2010/02/09/silverlight-4-0-training-kit.aspx&amp;amp;subject=Silverlight 4.0 Training Kit" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2010/02/09/silverlight-4-0-training-kit.aspx&amp;amp;t=Silverlight+4.0+Training+Kit" target="_blank" title="Submit Silverlight 4.0 Training Kit to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/02/09/silverlight-4-0-training-kit.aspx&amp;amp;title=Silverlight+4.0+Training+Kit" target="_blank" title="Submit Silverlight 4.0 Training Kit to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/02/09/silverlight-4-0-training-kit.aspx&amp;amp;phase=2" target="_blank" title="Submit Silverlight 4.0 Training Kit to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2010/02/09/silverlight-4-0-training-kit.aspx&amp;amp;title=Silverlight+4.0+Training+Kit" target="_blank" title="Add Silverlight 4.0 Training Kit to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=185833" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term="Silverlight" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Silverlight/default.aspx" /><category term="Visual Studio 2010" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Visual+Studio+2010/default.aspx" /><category term="Training Kit" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Training+Kit/default.aspx" /></entry><entry><title>Visual Studio 2010 RC is available for MSDN Subscribers</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2010/02/09/visual-studio-2010-rc-is-available-for-msdn-subscribers.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2010/02/09/visual-studio-2010-rc-is-available-for-msdn-subscribers.aspx</id><published>2010-02-09T01:33:32Z</published><updated>2010-02-09T01:33:32Z</updated><content type="html">&lt;p&gt;Folks,&lt;/p&gt;  &lt;p&gt;If you are an MSDN Subscribers, there’s a exciting news for you that VS 2010 RC (Release Candidate) is available now.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://msdn.microsoft.com/en-us/subscriptions"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" title="image" border="0" alt="image" src="http://geeks.netindonesia.net/blogs/wely/image_7A25BA04.png" width="366" height="224" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Well, I receive a lot of question regarding “what’s the CTP, Beta, RC, RTM? How does it differ”. Let take a look at the brief description below. &lt;/p&gt;  &lt;h4&gt;Community Technical Preview (CTP)&lt;/h4&gt;  &lt;p&gt;Usually when software company plans to develop a product, they will often create and distribute an CTP (Community Technical Preview) version. The objective of the vendor releasing the CTP version is to distribute this version to the community to gather feedback and idea. Usually the the software is still very “rough” and you will find tons of bug there. As analogy the food in the kitchen is not ready to be served, it is just for you to taste a bit. Don’t taste to much, it will cause you stomachache. &lt;img alt="Tongue out" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/tongue_smile.gif" /&gt;&lt;/p&gt;  &lt;h4&gt;Beta&lt;/h4&gt;  &lt;p&gt;As a period of time receiving feedback from the community, the vendor will improve the product in term of adding new functionality, improve performance, as well as bug fixing. This version is what we usually call Beta. In some case the beta product could be delivered as two version, Beta 1 and Beta 2. The objective of this Beta release itself is to allow client to test the software, gathering feedback and comment. Of course it potentially will go on with new added features. As analogy, the food is 60-70% to finish. You could experience the look and feel now.&lt;/p&gt;  &lt;h4&gt;Release Candidate (RC)&lt;/h4&gt;  &lt;p&gt;RC is the version where the product is about to release. There will no more new additional feature in this phase. Usually the vendor will just do some performance improvement and bug fixing related work to ensure the final product will work well. As analogy, the food is 90% finish.&lt;/p&gt;  &lt;h4&gt;Release to Manufacture (RTM)&lt;/h4&gt;  &lt;p&gt;RTM indicates that the product is ready to be manufacture, reproduce, and distribute it to the market. People are welcomed to purchase and use this product in production environment, the vendor will take care of the support if needed. The food is 100% done. Let’s dine it :)&lt;/p&gt;  &lt;p&gt;As I mentioned earlier, currently VS 2010 is on RC version. We are all waiting for the RTM version to be delivered.&lt;/p&gt;  &lt;p&gt;Cheers,&lt;/p&gt;  &lt;p&gt;Wely&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2010/02/09/visual-studio-2010-rc-is-available-for-msdn-subscribers.aspx&amp;amp;subject=Visual Studio 2010 RC is available for MSDN Subscribers" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2010/02/09/visual-studio-2010-rc-is-available-for-msdn-subscribers.aspx&amp;amp;t=Visual+Studio+2010+RC+is+available+for+MSDN+Subscribers" target="_blank" title="Submit Visual Studio 2010 RC is available for MSDN Subscribers to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/02/09/visual-studio-2010-rc-is-available-for-msdn-subscribers.aspx&amp;amp;title=Visual+Studio+2010+RC+is+available+for+MSDN+Subscribers" target="_blank" title="Submit Visual Studio 2010 RC is available for MSDN Subscribers to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/02/09/visual-studio-2010-rc-is-available-for-msdn-subscribers.aspx&amp;amp;phase=2" target="_blank" title="Submit Visual Studio 2010 RC is available for MSDN Subscribers to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2010/02/09/visual-studio-2010-rc-is-available-for-msdn-subscribers.aspx&amp;amp;title=Visual+Studio+2010+RC+is+available+for+MSDN+Subscribers" target="_blank" title="Add Visual Studio 2010 RC is available for MSDN Subscribers to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=185823" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term=".NET 4.0" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/.NET+4.0/default.aspx" /><category term="Visual Studio 2010" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Visual+Studio+2010/default.aspx" /></entry><entry><title>Parallel Extension in .NET 4.0 (Part 1 - Introduction and Motivation)</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2010/02/02/parallel-extension-in-net-4-0-part-1-introduction-and-motivation.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2010/02/02/parallel-extension-in-net-4-0-part-1-introduction-and-motivation.aspx</id><published>2010-02-02T00:12:00Z</published><updated>2010-02-02T00:12:00Z</updated><content type="html">&lt;p&gt;I still remembered that I asked &lt;a href="http://geeks.netindonesia.net/blogs/risman"&gt;Risman&lt;/a&gt; few months ago “what’s your favorite feature in .NET 4.0?”. He replied me “parallel extension”. Then I answered him “me too…”.&lt;/p&gt;
&lt;p&gt;Yes, I find that this is the most useful API for developer.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Let me begin the story &lt;img alt="Wink" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/wink_smile.gif" /&gt;.&lt;/p&gt;
&lt;p&gt;While clock speed is reaching the limit because of high power consumption as well as high temperature, microprocessor company such as &lt;a href="http://www.intel.com/multi-core/"&gt;Intel&lt;/a&gt; and &lt;a href="http://multicore.amd.com/"&gt;AMD&lt;/a&gt; produce their &lt;a href="http://en.wikipedia.org/wiki/Multi-core_processor"&gt;multi-core processor&lt;/a&gt; as the new solution. The idea of multi-core processor is to attach two or more core processor into the CPU. People usually are more familiar with the term Core2Duo / Dual Core /etc. I know that people usually get confuse what’s the difference between Core2Duo and Dual Core, check out the discussion &lt;a href="http://tech.yahoo.com/blogs/null/8263"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;People sometimes are so proud with their multi-core computer without knowing an important fact that the the multi-core processor without the multi-core enabled application are worthless. More or less, it will still run as single core performance if the software cannot take advantage on it. That’s one of the reason why sometimes people keep mumbling that their PC still run slowly even though with their C2D processor. Come on, processor is only one of the so many factor that affect our PC &lt;img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /&gt;!&lt;/p&gt;
&lt;h3&gt;The Experiment&lt;/h3&gt;
&lt;p&gt;Let me show you a little experiment to prove about that. Over here, I have a simple application that will query on a huge XML file that potentially takes quite long time.&lt;/p&gt;
&lt;p&gt;This application therefore could enable us to select number of core on your processor. Since my laptop is running on 2 cores, so I will have selection to use one core or two cores. Of course, if you have quadcore, you will have to be able to select up to four cores.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_6958F6F8.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:block;FLOAT:none;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;MARGIN-LEFT:auto;BORDER-LEFT-WIDTH:0px;MARGIN-RIGHT:auto;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_1EA2095E.png" width="353" height="226" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Next, I have two buttons, one is LINQ and another one is PLINQ. Note that, I haven’t discussed what is PLINQ here, so just bear that in mind that LINQ is the normal query using Language Integrated Query syntax, while PLINQ is LINQ with parallelism capability. Let’s do with few scenarios as following:&lt;/p&gt;
&lt;p&gt;1. Using one core processor&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;a. LINQ&lt;/p&gt;
&lt;p&gt;The first scenario is using one core processor to query with conventional LINQ query.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://netindonesia.net/blogs/wely/image_4ADE9042.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_07B31215.png" width="413" height="265" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The result shows &lt;strong&gt;19.31 seconds&lt;/strong&gt; to finish the query.&lt;/p&gt;
&lt;p&gt;b. PLINQ&lt;/p&gt;
&lt;p&gt;How about using PLINQ? Let’s try.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_4C7F3649.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_5A8DFF79.png" width="421" height="270" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;The result shows &lt;strong&gt;19.37 seconds&lt;/strong&gt;. No much different. In fact, more or less actually they work exactly the same.&lt;/p&gt;
&lt;p&gt;What does it mean? &lt;strong&gt;Finding no 1. It means that no matter what the query style you use (LINQ or PLINQ), in one core processor environment, you will get the same result&lt;/strong&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;2. Using 2 cores processor&lt;/p&gt;
&lt;p&gt;Now, let’s set the processor to two cores and see what happen.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;a. LINQ&lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_7F3F16F0.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_02FCBBC1.png" width="421" height="268" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;We get &lt;strong&gt;18.22 seconds&lt;/strong&gt; on this experiment. It seems like slightly improve a bit, but it still very very slight, yet probably we can ignore it.&lt;/p&gt;
&lt;p&gt;b. PLINQ&lt;/p&gt;
&lt;p&gt;Let’s see if we could get better result when we are querying with PLINQ in two cores processor.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_19DB8D3D.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_47993035.png" width="418" height="266" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Aha!!! Now I only get&lt;strong&gt; 9.68 seconds&lt;/strong&gt; to finish the query. It’s almost &lt;strong&gt;1.88 times&lt;/strong&gt; faster than before. This is what I’ve been expected.&lt;/p&gt;
&lt;p&gt;So, what do learn from this experiment again? &lt;strong&gt;Finding no 2. No matter how many core processor you have, if you query using conventional style (I mean without parallelism), you will get more or less the same result with one core processor.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Finding no 3. The performance will increase significantly only when you use parallel technique in multi-core processor.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Let’s summarize our experiment in more concise view&lt;/p&gt;
&lt;div align="center"&gt;
&lt;table cellspacing="0" cellpadding="2" align="center"&gt;

&lt;tr&gt;
&lt;td&gt;# of core&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Conventional Query / LINQ&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Parallel-enabled Query / PLINQ&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1 core&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;19.31 seconds&lt;a href="http://netindonesia.net/blogs/wely/image_4ADE9042.png"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;19.31 seconds&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;2 cores&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;18.22 seconds&lt;/td&gt;
&lt;td&gt;9.68 seconds&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;Our findings&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Finding no 1. It means that no matter what’s the query style you use (LINQ or PLINQ), in one core processor environment, you will get the same result&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Finding no 2. No matter how many core processor you have, if you query using conventional style (I mean without parallelism), you will get more or less the same result with one core processor.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Finding no 3. The performance will increase significantly only when you use parallel technique in multi-core processor.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;However, creating the multi-core enabled application is still a tough job for most developer including .NET developer. They will have to directly deal with threading related stuff and take care of it manually. This usually become stumble to developer to do so. &lt;/p&gt;
&lt;p&gt;In the subsequent post, I’ll show you how parallel extension come to make our life easier. Stay tuned &lt;img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2010/02/02/parallel-extension-in-net-4-0-part-1-introduction-and-motivation.aspx&amp;amp;subject=Parallel Extension in .NET 4.0 (Part 1 - Introduction and Motivation)" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2010/02/02/parallel-extension-in-net-4-0-part-1-introduction-and-motivation.aspx&amp;amp;t=Parallel+Extension+in+.NET+4.0+(Part+1+-+Introduction+and+Motivation)" target="_blank" title="Submit Parallel Extension in .NET 4.0 (Part 1 - Introduction and Motivation) to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/02/02/parallel-extension-in-net-4-0-part-1-introduction-and-motivation.aspx&amp;amp;title=Parallel+Extension+in+.NET+4.0+(Part+1+-+Introduction+and+Motivation)" target="_blank" title="Submit Parallel Extension in .NET 4.0 (Part 1 - Introduction and Motivation) to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/02/02/parallel-extension-in-net-4-0-part-1-introduction-and-motivation.aspx&amp;amp;phase=2" target="_blank" title="Submit Parallel Extension in .NET 4.0 (Part 1 - Introduction and Motivation) to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2010/02/02/parallel-extension-in-net-4-0-part-1-introduction-and-motivation.aspx&amp;amp;title=Parallel+Extension+in+.NET+4.0+(Part+1+-+Introduction+and+Motivation)" target="_blank" title="Add Parallel Extension in .NET 4.0 (Part 1 - Introduction and Motivation) to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=185689" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term=".NET 4.0" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/.NET+4.0/default.aspx" /><category term="Visual Studio 2010" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Visual+Studio+2010/default.aspx" /><category term="Parallel Extension" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Parallel+Extension/default.aspx" /></entry><entry><title>C# 4.0 | Optional and Named Parameter</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2010/01/29/c-4-0-optional-and-named-parameter.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2010/01/29/c-4-0-optional-and-named-parameter.aspx</id><published>2010-01-29T13:43:00Z</published><updated>2010-01-29T13:43:00Z</updated><content type="html">&lt;p&gt;Bersambung dari post sebelumnya mengenai &lt;a href="http://geeks.netindonesia.net/blogs/wely/archive/2008/12/13/c-4-0-dynamically-typed-objects.aspx"&gt;Dynamically Typed Objects pada C# 4.0&lt;/a&gt;, kali ini saya ingin membahas salah satu fitur pada C# 4.0 yang pada dasarnya cukup sederhana tetapi berguna dan cukup membantu. Simple but useful &lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;.&lt;/p&gt;
&lt;p&gt;Bagi teman2 yang sering bermain dengan VB, tentu mengetahui VB memiliki fitur &lt;a href="http://msdn.microsoft.com/en-us/library/f25e2b6b.aspx"&gt;Optional Parameter&lt;/a&gt;. Sekarang pada C# 4.0 juga terdapat fitur serupa, bahkan dilengkapi dengan Named Parameter. Optional dan Named Parameter adalah dua fitur yang berbeda tetapi sering digunakan bersama. Salah satu hal yang menyebabkan perlu adanya Optional and Named Parameter pada C# 4.0 adalah kesulitan yang terjadi pada saat kita memanggil function2 pada API COM seperti Office Automation yang terkadang terdapat puluhan parameter.&lt;/p&gt;
&lt;h3&gt;Optional Parameter&lt;/h3&gt;
&lt;p&gt;Optional Parameter bekerja dengan memberikan default value pada parameter, sehingga pemanggil function diperbolehkan untuk memberi sebuah nilai ataupun tidak terhadap parameter tertentu. Bila tidak diberi nilai, maka default value dari parameter tersebut akan otomatis terisi.&lt;/p&gt;
&lt;div&gt;
&lt;div style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;void&lt;/span&gt; Greets(&lt;span style="COLOR:#0000ff;"&gt;string&lt;/span&gt; _from, &lt;span style="COLOR:#0000ff;"&gt;string&lt;/span&gt; words = &lt;span style="COLOR:#006080;"&gt;&amp;quot;Hello&amp;quot;&lt;/span&gt;, &lt;span style="COLOR:#0000ff;"&gt;string&lt;/span&gt; to = &lt;span style="COLOR:#006080;"&gt;&amp;quot;You&amp;quot;&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   3:&lt;/span&gt;     Console.WriteLine(_from + &lt;span style="COLOR:#006080;"&gt;&amp;quot; says &amp;quot;&lt;/span&gt; + words + &lt;span style="COLOR:#006080;"&gt;&amp;quot; to &amp;quot;&lt;/span&gt; + to);&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   4:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   5:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   6:&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;void&lt;/span&gt; Main()&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   7:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   8:&lt;/span&gt;     Greets(&lt;span style="COLOR:#006080;"&gt;&amp;quot;Wely&amp;quot;&lt;/span&gt;, &lt;span style="COLOR:#006080;"&gt;&amp;quot;Happy New Year&amp;quot;&lt;/span&gt;, &lt;span style="COLOR:#006080;"&gt;&amp;quot;INDC Folks&amp;quot;&lt;/span&gt;); &lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   9:&lt;/span&gt;     &lt;span style="COLOR:#008000;"&gt;//pemanggilan function Greets dengan 3 parameter lengkap, common condition&lt;/span&gt;&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;  10:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;  11:&lt;/span&gt;     Greets(&lt;span style="COLOR:#006080;"&gt;&amp;quot;John&amp;quot;&lt;/span&gt;, &lt;span style="COLOR:#006080;"&gt;&amp;quot;Good Morning&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;  12:&lt;/span&gt;     &lt;span style="COLOR:#008000;"&gt;//pemanggilan dengan hanya mengirim 2 parameter, maka to akan diisi oleh &amp;quot;You&amp;quot;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;  13:&lt;/span&gt;     &lt;span style="COLOR:#008000;"&gt;//sama seperti Greets(&amp;quot;John&amp;quot;, &amp;quot;Good Morning&amp;quot;, &amp;quot;You&amp;quot;);&lt;/span&gt;&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;  14:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;  15:&lt;/span&gt;     Greets(&lt;span style="COLOR:#006080;"&gt;&amp;quot;Bob&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;  16:&lt;/span&gt;     &lt;span style="COLOR:#008000;"&gt;//sama seperti Greets(&amp;quot;Bob&amp;quot;, &amp;quot;Hello&amp;quot;, &amp;quot;You&amp;quot;);&lt;/span&gt;&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;  17:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h3&gt;Named Parameter&lt;/h3&gt;
&lt;p&gt;Akan tetapi C# 4.0 &lt;strong&gt;tidak&lt;/strong&gt; &lt;strong&gt;mengizinkan&lt;/strong&gt; kita untuk menulis:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Greets(&amp;quot;Brandon&amp;quot;,,&amp;quot;Roy&amp;quot;);&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Oleh karena itu, kita bisa menggunakan &lt;strong&gt;Named Parameter&lt;/strong&gt; untuk membantu. Named Parameter memungkinkan kita untuk memberikan nilai yang akan di-pass ke sebuah function tanpa harus mengikuti urutan yang ada.&lt;/p&gt;
&lt;div&gt;
&lt;div style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   1:&lt;/span&gt; Greets(&lt;span style="COLOR:#006080;"&gt;&amp;quot;Brandon&amp;quot;&lt;/span&gt;, to:&lt;span style="COLOR:#006080;"&gt;&amp;quot;Roy&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   2:&lt;/span&gt; &lt;span style="COLOR:#008000;"&gt;//named parameter&lt;/span&gt;&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   3:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   4:&lt;/span&gt; Greets(to: &lt;span style="COLOR:#006080;"&gt;&amp;quot;Me&amp;quot;&lt;/span&gt;, _from: &lt;span style="COLOR:#006080;"&gt;&amp;quot;Shirley&amp;quot;&lt;/span&gt;, word: &lt;span style="COLOR:#006080;"&gt;&amp;quot;Good night&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   5:&lt;/span&gt; &lt;span style="COLOR:#008000;"&gt;//named parameter, letak posisi parameter dapat kita pindah&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;See you in next C# 4.0 post &lt;img alt="Wink" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/wink_smile.gif" /&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2010/01/29/c-4-0-optional-and-named-parameter.aspx&amp;amp;subject=C# 4.0 | Optional and Named Parameter" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/29/c-4-0-optional-and-named-parameter.aspx&amp;amp;t=C%23+4.0+%7c+Optional+and+Named+Parameter" target="_blank" title="Submit C# 4.0 | Optional and Named Parameter to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/29/c-4-0-optional-and-named-parameter.aspx&amp;amp;title=C%23+4.0+%7c+Optional+and+Named+Parameter" target="_blank" title="Submit C# 4.0 | Optional and Named Parameter to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/29/c-4-0-optional-and-named-parameter.aspx&amp;amp;phase=2" target="_blank" title="Submit C# 4.0 | Optional and Named Parameter to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/29/c-4-0-optional-and-named-parameter.aspx&amp;amp;title=C%23+4.0+%7c+Optional+and+Named+Parameter" target="_blank" title="Add C# 4.0 | Optional and Named Parameter to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=83369" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term="C# 4.0" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/C_2300_+4.0/default.aspx" /><category term="Visual Studio 2010" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Visual+Studio+2010/default.aspx" /></entry><entry><title>Lap Around VS 2010 Presentation at Batam</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2010/01/14/lap-around-vs-2010-presentation-at-batam.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2010/01/14/lap-around-vs-2010-presentation-at-batam.aspx</id><published>2010-01-14T01:09:42Z</published><updated>2010-01-14T01:09:42Z</updated><content type="html">&lt;p&gt;Karena ada peserta yang meminta untuk post slide dan materi presentasi saya, maka sekalian saya wrap up di post ini.&lt;/p&gt;  &lt;p&gt;Sebenarnya agak telat post ini mengingat acara telah dengan berhasil digelarkan di Batam pada tanggal 13 Desember 2009 seperti yang dilaporkan oleh Saudara Aprizon di &lt;a href="http://mugi.or.id/blogs/nozyra/archive/2009/12/14/live-demo-technet-and-msdn-day-gedung-politeknik-batam-ft-umrah.aspx"&gt;sini&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Satu hal yang sangat challenging bagi saya dalam mendeliver presentasi ini adalah lebih dari 50% peserta yang hadir tidak memiliki background programming dan software development. Hal ini berbeda sekali dengan situasi pada umumnya, biasanya audience saya adalah developer. Akan tetapi hal ini tidak boleh dijadikan hambatan, the show must go on. Oleh karena itu, saya sesuaikan presentasi saya dengan bahasa yang cukup awam, menceritakan “what’s .net dan VS” step by step terlebih dahulu, baru pelan – pelan memasuki topik yang sebenarnya.&lt;/p&gt;  &lt;p&gt;Sesuai dengan judul presentasi tersebut “Lap Around VS 2010 and .NET 4.0”, di sini saya hanya memberikan overview dan beberapa highlight significant pada .NET 4.0 dan VS 2010, mengingat materi tersebut adalah sangat luas dan banyak bila dibicarakan lebih detil.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_19B084A0.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_32F83C40.png" width="390" height="294" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Empat topik utama yang saya bahas adalah sebagai berikut&lt;/p&gt;  &lt;h4&gt;1. Introduction and Overview of .NET 4.0&lt;/h4&gt;  &lt;p&gt;Bagi developer yang telah familiar dengan .NET, tentunya hal ini bukan lah sesuatu yang menarik. Akan tetapi mengingat audience yang hadir adalah non-developer dan student yang kurang familiar dengan .NET, maka saya harus memberikan perkenalan sekitar 10 menit. Menjelaskan apa itu .NET dan Visual Studio, siapa yang menggunakannya, versi .NET yang telah ada, dan lain sebagainya.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_6E882533.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_6E587573.png" width="371" height="279" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h4&gt;2. General IDE (Integrated Development Environment) Enhancement&lt;/h4&gt;  &lt;p&gt;Pada bagian ini, saya menjelaskan bagaimana fitur baru VS 2010 mempermudahkan developer dalam menuliskan kode program nya dengan lingkungan IDE yang mendukung dan kondusif. Topik yang dibicarakan adalah mengenai Multi-Targeting, &lt;a href="http://geeks.netindonesia.net/blogs/wely/archive/2010/01/09/vs-2010-extension-manager.aspx"&gt;Extension Manager&lt;/a&gt;, &lt;a href="http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking.aspx"&gt;Inside IDE Docking&lt;/a&gt;, &lt;a href="http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking-part-2.aspx"&gt;Mutli-Windows&lt;/a&gt;, Navigate to, dan Architecture Diagram.&lt;/p&gt;  &lt;p&gt;Bagi rekan2 yang ingin explore lebih jauh, beberapa post telah saya tulis sebelumnya, dapat diakses dengan meng-klik topic di atas.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_518EDA91.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_5B2722FA.png" width="377" height="284" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h4&gt;3. Editor Enhancement in IDE&lt;/h4&gt;  &lt;p&gt;Topic berikutnya adalah tentang Editor pada Visual Studio sendiri, editor tempat dimana developer menuliskan programnya. Satu hal menarik adalah editor pada Visual Studio 2010 dibangun dengan WPF sehingga dapat memberikan look and feel yang menarik pula.&lt;/p&gt;  &lt;p&gt;Adapun topic yang dibahas adalah sebagai berikut:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_0F97CF76.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_7D1F58F3.png" width="378" height="284" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h4&gt;4. Parallel Extension in .NET 4.0 &lt;/h4&gt;  &lt;p&gt;Processor fisik yang memiliki multicore akan sia-sia bila tidak didampingi oleh aplikasi yang “multicore ready”. Sedangkan untuk menulis aplikasi yang multicore ready, effort yang harus dilakukan developer cukup berat dan mahal. Rintangan tersebut yang merupakan sebuah hambatan utama pada developer.&lt;/p&gt;  &lt;p&gt;Namun pada .NET 4.0, diluncurkan sebuah API baru yang diberi nama Parallel Extension. Parallel Extension memudahkan developer dalam menulis aplikasi yang multicore ready dan parallel dengan mudah, tanpa harus deal langsung dengan hal rumit seperti threading atau thread pool.&lt;/p&gt;  &lt;p&gt;Adapun contoh sederhana penggunaan Parallel Extension dapat dilihat di gambar berikut.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_403AB154.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_5BAF8D8A.png" width="385" height="290" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Berikut adalah beberapa foto pada saat presentasi. Foto lengkap lainnya mungkin bisa Anda dapatnya di &lt;a href="http://mugi.or.id/blogs/nozyra/archive/2009/12/14/live-demo-technet-and-msdn-day-gedung-politeknik-batam-ft-umrah.aspx"&gt;blog Saudara Aprizon&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.facebook.com/photo.php?pid=3002642&amp;amp;id=650262435"&gt;&lt;img src="http://photos-h.ak.fbcdn.net/hphotos-ak-snc3/hs112.snc3/15954_203121397435_650262435_3002641_6314602_n.jpg" width="253" height="190" alt="" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.facebook.com/photo.php?pid=3002671&amp;amp;id=650262435"&gt;&lt;img src="http://photos-c.ak.fbcdn.net/hphotos-ak-snc3/hs092.snc3/15954_203121682435_650262435_3002670_1569751_n.jpg" width="254" height="190" alt="" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.facebook.com/photo.php?pid=3002672&amp;amp;id=650262435"&gt;&lt;img src="http://photos-e.ak.fbcdn.net/hphotos-ak-snc3/hs092.snc3/15954_203121692435_650262435_3002671_6948922_n.jpg" width="253" height="190" alt="" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.facebook.com/photo.php?pid=3002673&amp;amp;id=650262435"&gt;&lt;img src="http://photos-g.ak.fbcdn.net/hphotos-ak-snc3/hs092.snc3/15954_203121702435_650262435_3002672_6557920_n.jpg" width="252" height="189" alt="" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/DSCN0364_64DA8CF9.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="DSCN0364" border="0" alt="DSCN0364" src="http://netindonesia.net/blogs/wely/DSCN0364_thumb_16858482.jpg" width="258" height="194" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/photo.php?pid=3002668&amp;amp;id=650262435"&gt;&lt;img src="http://photos-a.ak.fbcdn.net/hphotos-ak-snc3/hs092.snc3/15954_203121647435_650262435_3002667_700506_n.jpg" width="252" height="189" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Berikut ini slide presentasi dan demo code saya.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:671c538e-7cfa-406a-8ae0-4ae7250a7d4d" class="wlWriterEditableSmartContent"&gt;&lt;p&gt; &lt;a href="http://netindonesia.net/blogs/wely/LapAroundVS2010Dotnet4_46CC5938.pptx" target="_blank"&gt;slide presentasi&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:acfd8d20-6d85-40c0-9a60-4b8729d6e7ce" class="wlWriterEditableSmartContent"&gt;&lt;p&gt; &lt;a href="http://netindonesia.net/blogs/wely/BATAM_2F792CC9.zip" target="_blank"&gt;demo code&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Semoga bermanfaat dan salam Batam .&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2010/01/14/lap-around-vs-2010-presentation-at-batam.aspx&amp;amp;subject=Lap Around VS 2010 Presentation at Batam" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/14/lap-around-vs-2010-presentation-at-batam.aspx&amp;amp;t=Lap+Around+VS+2010+Presentation+at+Batam" target="_blank" title="Submit Lap Around VS 2010 Presentation at Batam to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/14/lap-around-vs-2010-presentation-at-batam.aspx&amp;amp;title=Lap+Around+VS+2010+Presentation+at+Batam" target="_blank" title="Submit Lap Around VS 2010 Presentation at Batam to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/14/lap-around-vs-2010-presentation-at-batam.aspx&amp;amp;phase=2" target="_blank" title="Submit Lap Around VS 2010 Presentation at Batam to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/14/lap-around-vs-2010-presentation-at-batam.aspx&amp;amp;title=Lap+Around+VS+2010+Presentation+at+Batam" target="_blank" title="Add Lap Around VS 2010 Presentation at Batam to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=185367" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term="MUGI" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/MUGI/default.aspx" /><category term=".NET 4.0" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/.NET+4.0/default.aspx" /><category term="Visual Studio 2010" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Visual+Studio+2010/default.aspx" /><category term="Parallel Extension" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Parallel+Extension/default.aspx" /></entry><entry><title>C# 4.0 | Dynamically Typed Objects</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2010/01/13/c-4-0-dynamically-typed-objects.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2010/01/13/c-4-0-dynamically-typed-objects.aspx</id><published>2010-01-13T03:33:00Z</published><updated>2010-01-13T03:33:00Z</updated><content type="html">&lt;p&gt;Pada post sebelumnya, saya telah &lt;a href="http://geeks.netindonesia.net/blogs/wely/archive/2008/12/07/c-4-0-my-first-look.aspx"&gt;menulis C# 4.0 secara overall&lt;/a&gt;. Pada post ini, saya akan membahas salah satu point penting pada C# 4.0, yaitu Dynamically Typed Object.&lt;/p&gt;
&lt;p&gt;Point ini sering menjadi sebuah sumber perdebatan yang gak ada habisnya. Saya tidak akan memperdebatkan apakah lebih bagus strong type atau dynamic type. &lt;/p&gt;
&lt;p&gt;Ok, let&amp;#39;s start.&lt;/p&gt;
&lt;p&gt;Pertama, suka gak suka, kenyataannya adalah bahwa &amp;quot;theme&amp;quot; pada C# 4.0 adalah dynamic programming. Hal ini juga telah diungkapkan oleh &lt;a href="http://channel9.msdn.com/pdc2008/TL16/"&gt;Anders Heljsberg pada presentasinya di PDC&lt;/a&gt;. Tetapi yang perlu kita ingat lagi bahwa dengan adanya &amp;quot;theme&amp;quot; dynamic pada C# 4.0, bukan berarti C# akan fully jadi dynamic language seperti python, ruby, etc.&lt;/p&gt;
&lt;p&gt;C# pada dasarnya masih static / strong type, tapi yang unique adalah punya ability utk melakukan sesuatu secara dynamic. Jadi C# sekarang telah menjadi &lt;strong&gt;multi-paradigm&lt;/strong&gt; dan juga &lt;strong&gt;multi-purpose language&lt;/strong&gt;. Dengan penambahan feature dynamic, tidak berarti kita harus lupakan fungsionalitas C# sebelumnya, dan move ke dynamic semua. Tetapi yang penting adalah gunakan dynamic pada situasi dan saat yang tepat misalnya call COM Object, HTML DOM objects, call object dari dynamic language seperti Python atau Ruby, dll. Dengan adanya fitur dynamic, akan menjadi lebih mudah.&lt;/p&gt;
&lt;h3&gt;Dynamic Keywords&lt;/h3&gt;
&lt;p&gt;Pada C# 4.0, terdapat keyword baru yaitu dynamic. Ketika kita mendeklarasikan sebuah variable dengan keyword dynamic seperti&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;dynamic &lt;font color="#000000"&gt;d;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Artinya kita memberitahukan kepada compiler bahwa variable d adalah sebuah dynamic variable, kita akan aware bahwa biarkanlah variable tersebut &lt;strong&gt;lolos dari compile time check&lt;/strong&gt;, kita sudah sadar akan resiko terjadinya error pada saat &lt;strong&gt;runtime&lt;/strong&gt;. Sehingga saya bisa tulis apa saja pada variable d tersebut. &lt;/p&gt;
&lt;p&gt;Perhatikan contoh berikut.&lt;/p&gt;
&lt;div style="BORDER-BOTTOM:gray 1px solid;BORDER-LEFT:gray 1px solid;PADDING-BOTTOM:4px;LINE-HEIGHT:12pt;BACKGROUND-COLOR:#f4f4f4;MARGIN:20px 0px 10px;PADDING-LEFT:4px;WIDTH:97.5%;PADDING-RIGHT:4px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;MAX-HEIGHT:200px;FONT-SIZE:8pt;OVERFLOW:auto;BORDER-TOP:gray 1px solid;CURSOR:text;BORDER-RIGHT:gray 1px solid;PADDING-TOP:4px;"&gt;
&lt;div style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;void&lt;/span&gt; Main(&lt;span style="COLOR:#0000ff;"&gt;string&lt;/span&gt;[] args)&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   3:&lt;/span&gt;     &lt;font color="#0000ff"&gt;dynamic&lt;/font&gt; d = GetSomething();&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   4:&lt;/span&gt;     d = 10;&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   5:&lt;/span&gt;     d.CallAMethod();&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   6:&lt;/span&gt;     d.SomeProperty = &lt;span style="COLOR:#006080;"&gt;&amp;quot;fill with string&amp;quot;&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   7:&lt;/span&gt;     d.CallAnotherMethod(20, &lt;span style="COLOR:#006080;"&gt;&amp;quot;some parameter&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   8:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Kalau potongan code tersebut di compile pada compiler C# 3.0 ataupun sebelumnya, tentu saja compile time error. Tetapi pada C# 4.0, maka akan success pada compile time, tetapi apakah runtime akan terjadi error atau success? Jawabannya tergantung dengan method GetSomething();&lt;/p&gt;
&lt;p&gt;Bila method GetSomething() ini membalikkan property dan method yang sesuai dengan apa yang dipanggil pada Main method, maka tentunya tidak terjadi error.&lt;/p&gt;
&lt;h4&gt;Runtime Lookup&lt;/h4&gt;
&lt;p&gt;Jadi, sebenarnya apa yang dilakukan si compiler C# 4.0, ketika kita put the dynamic keyword? Compiler akan melihat sifat dari variable d, tentunya berdasarkan dari return type method GetSomething().&lt;/p&gt;
&lt;p&gt;Bila ternyata GetSomething membalikkan COM Object, maka secara dynamic operation tersebut akan di-dispatch melalui COM IDispatch tanpa harus memiliki PIA (Primary Interop Assembly). Tentunya dengan fasilitas ini, sangat membantu. &lt;/p&gt;
&lt;p&gt;Bila ternyata d mengimplementasikan interface IDynamicObject (IDynamicObject adalah bagian utama dari DLR - Dynamic Language Runtime pada .NET 4.0), tentunya d sendiri akan menjadi dynamic object, sehingga d sendiri akan melakukan operation nya sendiri tanpa campur tangan dan berinteraksi API lainnya. Implementasi seperti ini akan sering digunakan oleh dynamic language seperti IronPython dan IronRuby untuk mengimplementasikan object modelnya sendiri.&lt;/p&gt;
&lt;p&gt;Selain dari itu, compiler mengasumsikan bahwa d adalah standard .NET object yang akan di-dispatch menggunakan reflection. Dengan singkat kata, meng-compile-nya secara static compiler.&lt;/p&gt;
&lt;h4&gt;Keyword: object VS var VS dynamic&lt;/h4&gt;
&lt;p&gt;Mungkin dengan munculnya keyword var pada C# 3.0 dan sekarang keyword dynamic pada C# 4.0, apa perbedaannya sesama dan juga dengan keyword object.&lt;/p&gt;
&lt;h5&gt;object&lt;/h5&gt;
&lt;p&gt;Keyword object sebenarnya adalah cara penulisan pendek dari class System.Object.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/C4.0DynamicallyTypedObjects_12BC1/image_2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" border="0" alt="image" src="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/C4.0DynamicallyTypedObjects_12BC1/image_thumb.png" width="420" height="73" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Memang dengan deklarasi keyword object, kita bisa &amp;quot;seenaknya&amp;quot; memberi nilai seperti&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;obj = 10;&lt;/p&gt;
&lt;p&gt;obj = &amp;quot;ini string&amp;quot;;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;dan lain sebagainya.&lt;/p&gt;
&lt;p&gt;Tetapi ingat juga bahwa class object adalah reference type. Artinya ketika kita assign sebuah value type ke dalam variable tersebut, terjadilah &lt;a href="http://msdn.microsoft.com/en-us/library/yz2be5wk.aspx"&gt;Boxing&lt;/a&gt;. Mengingat Boxing dan UnBoxing akan memberikan impact pada performance, maka hindarilah sebisanya.&lt;/p&gt;
&lt;h5&gt;var&lt;/h5&gt;
&lt;p&gt;Keyword var ini bukan lah sebuah &lt;strong&gt;type&lt;/strong&gt; seperti string, int, ataupun object. Keyword var ini hanyalah sebuah &amp;quot;simbol&amp;quot; yang mengatakan bahwa nilai dari variable ini bisa tergantung dari apa yang ada di right-hand side, dan itu harus diisi pada saat deklarasi awal. Selain itu juga untuk mendukung Anonymous Type pada C# 3.0. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/C4.0DynamicallyTypedObjects_12BC1/image_4.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" border="0" alt="image" src="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/C4.0DynamicallyTypedObjects_12BC1/image_thumb_1.png" width="198" height="61" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/C4.0DynamicallyTypedObjects_12BC1/image_6.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" border="0" alt="image" src="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/C4.0DynamicallyTypedObjects_12BC1/image_thumb_2.png" width="244" height="61" /&gt;&lt;/a&gt; &lt;a href="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/C4.0DynamicallyTypedObjects_12BC1/image_8.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" border="0" alt="image" src="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/C4.0DynamicallyTypedObjects_12BC1/image_thumb_3.png" width="315" height="78" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Satu hal yang penting dan perlu diingat adalah &lt;strong&gt;var ini adalah strong-type&lt;/strong&gt;. Anda akan mendapatkan error bila menulis seperti ini&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/C4.0DynamicallyTypedObjects_12BC1/image_10.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" border="0" alt="image" src="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/C4.0DynamicallyTypedObjects_12BC1/image_thumb_4.png" width="525" height="154" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h5&gt;dynamic&lt;/h5&gt;
&lt;p&gt;Bagaimana dengan keyword dynamic? Dynamic ini lain cerita lagi &lt;img alt="Sarcastic" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/50_50.gif" /&gt;. Ketika Anda mendeklarasikan variable tersebut dynamic, make sure kita aware atas resikonya. &lt;/p&gt;
&lt;p&gt;Kenapa saya mengatakan begitu? Once you put the dynamic keyword, compiler akan lepas tangan untuk memeriksa compile time check, sehingga ada potensi untuk terjadinya error pada runtime.&lt;/p&gt;
&lt;p&gt;Berbeda dengan var yang harus didefinisikan nilainya pada awal, Anda bisa membiarkannya kosong pada saat awal sekalipun.&lt;/p&gt;
&lt;div style="BORDER-BOTTOM:gray 1px solid;BORDER-LEFT:gray 1px solid;PADDING-BOTTOM:4px;LINE-HEIGHT:12pt;BACKGROUND-COLOR:#f4f4f4;MARGIN:20px 0px 10px;PADDING-LEFT:4px;WIDTH:97.5%;PADDING-RIGHT:4px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;MAX-HEIGHT:200px;FONT-SIZE:8pt;OVERFLOW:auto;BORDER-TOP:gray 1px solid;CURSOR:text;BORDER-RIGHT:gray 1px solid;PADDING-TOP:4px;"&gt;
&lt;div style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;void&lt;/span&gt; Main(&lt;span style="COLOR:#0000ff;"&gt;string&lt;/span&gt;[] args)&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   3:&lt;/span&gt;     &lt;font color="#0000ff"&gt;dynamic&lt;/font&gt; dyn;&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   4:&lt;/span&gt;     dyn = &lt;span style="COLOR:#006080;"&gt;&amp;quot;Ini variable dynamic&amp;quot;&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   5:&lt;/span&gt;     dyn.Id = 10;&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   6:&lt;/span&gt;     dyn.GoForward();&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:white;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   7:&lt;/span&gt;     dyn = &lt;span style="COLOR:#0000ff;"&gt;new&lt;/span&gt; { AccountId = &lt;span style="COLOR:#006080;"&gt;&amp;quot;A001&amp;quot;&lt;/span&gt;, Balance = 25000 };&lt;/pre&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;"&gt;&lt;span style="COLOR:#606060;"&gt;   8:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Sekilas, kelihatannya agak menakutkan &lt;img alt="Thinking" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/72_72.gif" /&gt;, karna code tersebut tidak menyebabkan runtime error. Tetapi you&amp;#39;ll see it at the runtime.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2010/01/13/c-4-0-dynamically-typed-objects.aspx&amp;amp;subject=C# 4.0 | Dynamically Typed Objects" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/13/c-4-0-dynamically-typed-objects.aspx&amp;amp;t=C%23+4.0+%7c+Dynamically+Typed+Objects" target="_blank" title="Submit C# 4.0 | Dynamically Typed Objects to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/13/c-4-0-dynamically-typed-objects.aspx&amp;amp;title=C%23+4.0+%7c+Dynamically+Typed+Objects" target="_blank" title="Submit C# 4.0 | Dynamically Typed Objects to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/13/c-4-0-dynamically-typed-objects.aspx&amp;amp;phase=2" target="_blank" title="Submit C# 4.0 | Dynamically Typed Objects to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/13/c-4-0-dynamically-typed-objects.aspx&amp;amp;title=C%23+4.0+%7c+Dynamically+Typed+Objects" target="_blank" title="Add C# 4.0 | Dynamically Typed Objects to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=82995" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term="C# 4.0" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/C_2300_+4.0/default.aspx" /><category term="Visual Studio 2010" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Visual+Studio+2010/default.aspx" /></entry><entry><title>.NET Framework 4.0 Overview</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2010/01/10/net-framework-4-0-overview.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2010/01/10/net-framework-4-0-overview.aspx</id><published>2010-01-10T14:53:00Z</published><updated>2010-01-10T14:53:00Z</updated><content type="html">&lt;p&gt;Dalam artikel ini saya akan mengajak teman2 mengintip sedikit tentang .NET Framework 4.0. Satu hal yang perlu diperhatikan adalah pada saat artikel ini ditulis, .NET Framework 4.0 berbarengan dengan Visual Studio 2010 (codename Dev10) masih pada versi CTP (Community Technical Preview). Oleh karena itu, apa yang dibahas pada artikel ini, &lt;u&gt;bisa jadi berbeda pada versi akhirnya&lt;/u&gt;. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;.NET Framework 3.5 SP1&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/.NETFramework4.0Overview_774/image6.png"&gt;&lt;img style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;MARGIN:0px 5px 0px 0px;BORDER-TOP:0px;BORDER-RIGHT:0px;" border="0" alt="image" align="left" src="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/.NETFramework4.0Overview_774/image6_thumb.png" width="342" height="258" /&gt;&lt;/a&gt;Seperti yang kita ketahui .NET Framework 3.5 SP1 merupakan versi rilis terbaru sampai dengan saat ini.&lt;/p&gt;
&lt;p&gt;.NET 3.5 SP1 sebenarnya adalah hasil bungkusan dari .NET 3.5 sementara .NET 3.5 merupakan bungkusan lagi dari .NET 3.0 dan seterusnya, dapat kita ilustrasikan pada gambar di samping ini.&lt;/p&gt;
&lt;p&gt;Pada intinya, core dari .NET 3.5 SP1 masih menggunakan CLR 2.0 dan berbagai API tambahan pada masing-masing versi. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;.NET 3.0&lt;/strong&gt; = .NET 2.0 + (WPF, WCF, WF, CardSpace)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;.NET 3.5&lt;/strong&gt; = .NET 3.0 + SP1 + LINQ + Framework Add In + Enhancements&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;.NET 3.5 SP1&lt;/strong&gt; = .NET 3.5 + MVC + Dynamic Data + Entity Framework + Data Service&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;.NET Framework 4.0&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/.NETFramework4.0Overview_774/image9.png"&gt;&lt;img style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;MARGIN:0px 5px 0px 0px;BORDER-TOP:0px;BORDER-RIGHT:0px;" border="0" alt="image" src="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/.NETFramework4.0Overview_774/image9_thumb.png" width="529" height="397" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Bagaimana dengan .NET 4.0 ?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;CLR Improvement in .NET 4.0&lt;/h3&gt;
&lt;p&gt;Tidaklah seperti .NET 3.0 dan .NET 3.5 yang hanya penambahan API pada level BCL, Improvement .NET 4.0 juga menyentuh hingga CLR. CLR baru yang disebut CLR 4.0 akan fokus pada performance dan interoperability.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Performance: .NET 4.0 menyediakan performance yang lebih baik dan cepat dengan memperbaiki GC (Garbage Collector), Thread Pool, dan juga pustaka parallel seperti parallelizing loops dan LINQ queries. 
&lt;li&gt;Compability and Interoperability: Walaupun .NET 4.0 dibangun dengan CLR versi baru, kompatibilitas dan interoperabilitas tetap dijamin dapat berjalan dengan baik.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Untuk informasi lebih lanjut mengenai CLR Improvement, Anda dapat mengunjungi &lt;a href="http://mschnlnine.vo.llnwd.net/d1/pdc08/DOCX/PC49.docx"&gt;slide&lt;/a&gt; dan &lt;a href="http://channel9.msdn.com/pdc2008/PC49/"&gt;video&lt;/a&gt; mengenai CLR Futures yang dibahas pada PDC yang lalu.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Parallel Extension&lt;/h3&gt;
&lt;p&gt;Kita tentunya sudah tidak asing dengan istilah multicore pada prosesor, sebuah konsep dimana prosesor memiliki lebih dari satu core (parallel) sehingga meningkatkan kemampuan proses. Namun multicore belum optimal bila gaya pemrograman yang kita lakukan masih dengan style konvensional.&lt;/p&gt;
&lt;p&gt;Untuk mencapai kemampuan yang optinal, style pemrograman pun haruslah di kondisikan agar menjadi parallel, yang biasa sering disebut sebagai &lt;a href="http://en.wikipedia.org/wiki/Parallel_computing"&gt;parallel computing&lt;/a&gt; atau &lt;a href="http://en.wikipedia.org/wiki/Parallel_programming_model"&gt;parallel programming model&lt;/a&gt;. Akan tetapi, salah satu hal yang sering membuat developer mengeluh untuk melakukan parallel programming adalah kerumitannya. Parallel Extension pada .NET 4.0 adalah sebuah managed parallel programming model yang membungkus kompleksitas pada concurent programming model pada saat ini. Parallel Extension memudahkan developer untuk menulis program yang dapat memaksimalkan performance pada lingkungan prosesor multicore. Beberapa API penting pada Parallel Extension adalah Task Parallel Library (TPL), Coordinate Data Structures, dan Parallel LINQ (PLINQ).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Saat ini, Parallel Extension untuk .NET 3.5 CTP dapat di download terpisah di &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=348F73FD-593D-4B3C-B055-694C50D2B0F3&amp;amp;displaylang=en"&gt;sini&lt;/a&gt;. 
&lt;li&gt;Resource lebih jauh dapat Anda simak pada &lt;a href="http://blogs.msdn.com/pfxteam/"&gt;tim blog Parallel Programming .NET&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Managed Extensibility Framework (MEF)&lt;/h3&gt;
&lt;p&gt;MEF adalah sebuah pustaka baru pada .NET 4.0 yang memungkinkan reusability dari application dan komponent yang lebih baik. Dengan MEF, aplikasi .NET dapat berubah dari kompilasi statis menjadi dynamically composed. Bila Anda membuat extensible application, extensible framework, dan application extension, MEF akan sangat bermanfaat dalam hal tersebut.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MEF sendiri dapat Anda download saat ini di CodePlex pada &lt;a href="http://www.codeplex.com/MEF"&gt;link berikut&lt;/a&gt;. 
&lt;li&gt;Bapak konsultan kita, &lt;a href="http://geeks.netindonesia.net/blogs/jimmy/"&gt;Jimmy Chandra&lt;/a&gt; sempat menulisnya pada &lt;a href="http://netindonesia.net/blogs/jimmy/archive/2008/12/22/playing-around-with-managed-extensibility-framework-mef.aspx"&gt;blog beliau juga mengenai MEF ini&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Dynamic Language Runtime (DLR)&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/.NETFramework4.0Overview_774/image_4.png"&gt;&lt;img style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;BORDER-TOP:0px;BORDER-RIGHT:0px;" border="0" alt="image" src="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/.NETFramework4.0Overview_774/image_thumb.png" width="263" height="162" /&gt;&lt;/a&gt; &lt;a href="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/.NETFramework4.0Overview_774/image4.png"&gt;&lt;img style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;BORDER-TOP:0px;BORDER-RIGHT:0px;" border="0" alt="image" src="http://geeks.netindonesia.net/blogs/wely/WindowsLiveWriter/.NETFramework4.0Overview_774/image4_thumb.png" width="272" height="160" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;DLR memungkinkan kita untuk membuat dynamic language untuk platform .NET dengan mudah. DLR mengangkat sejumlah service yang terdapat pada CLR dan menyediakan language service untuk beberapa dynamic language (seperti IronPhyton dan IronRuby). Service - service tersebut adalah:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dynamic Type System 
&lt;li&gt;Dynamic Method Dispatch 
&lt;li&gt;Dynamic Code Generation 
&lt;li&gt;Hosting API&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Informasi dan code lebih lengkap mengenai DLR dapat Anda peroleh di &lt;a href="http://www.codeplex.com/dlr"&gt;link berikut&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Languages: C# 4.0, VB 10, F#&lt;/h3&gt;
&lt;p&gt;Mendampingi .NET 4.0 dan VS2010, Microsoft juga mengeluarkan versi baru dari 2 bahasa .NET utama yaitu C# dan Visual Basic. &lt;/p&gt;
&lt;p&gt;Beberapa inovasi baru pada &lt;a href="http://code.msdn.microsoft.com/csharpfuture"&gt;C# 4.0&lt;/a&gt; meliputi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://geeks.netindonesia.net/blogs/wely/archive/2008/12/13/c-4-0-dynamically-typed-objects.aspx"&gt;Dynamically Typed Object&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://geeks.netindonesia.net/blogs/wely/archive/2008/12/29/c-4-0-optional-and-named-parameter.aspx"&gt;Optional and Named Parameter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Improvement pada COM Interoperability&lt;/li&gt;
&lt;li&gt;Covariance dan Contravariance &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Sementara &lt;a href="http://code.msdn.microsoft.com/vbfuture"&gt;VB 10&lt;/a&gt; juga tidak mau kalah dengan fitur-fiturnya seperti:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Multiple Lambdas&lt;/li&gt;
&lt;li&gt;Implicit Line Continuation &lt;/li&gt;
&lt;li&gt;AutoImplemented Properties&lt;/li&gt;
&lt;li&gt;Collection Initializer&lt;/li&gt;
&lt;li&gt;Array Literal&lt;/li&gt;
&lt;li&gt;Nullable Optional Parameter&lt;/li&gt;
&lt;li&gt;Interop with Dynamic Languages&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Selain C# dan VB, terdapat pula sebuah bahasa fungsional yaitu &lt;a href="http://msdn.microsoft.com/en-us/fsharp/default.aspx"&gt;F#.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;ASP.NET 4.0&lt;/h3&gt;
&lt;p&gt;Beberapa API baru pada ASP.NET 4.0 adalah&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ASP.NET MVC, sebuah framework yang memungkikan kita untuk mengimplementasikan MVC pada platform ASP.NET&lt;/li&gt;
&lt;li&gt;ASP.NET Dynamic Data support MVC&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/data/cc655792.aspx"&gt;Project &amp;quot;Velocity&amp;quot;&lt;/a&gt; yang dapat menyediakan in-memory application cache untuk semua jenis data.&lt;/li&gt;
&lt;li&gt;Improvement pada ASP.NET AJAX&lt;/li&gt;
&lt;li&gt;Tambahan JQuery pada ASP.NET 4.0&lt;/li&gt;
&lt;li&gt;Enhancement pada Ajax Control Toolkit&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;So many more...&lt;/h3&gt;
&lt;p&gt;Resource lainnya dapat Anda kunjungi link berikut:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx"&gt;Visual Studio 2010 First Look&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://geeks.netindonesia.net/files/folders/trainingkit/entry82860.aspx"&gt;Visual Studio 2010 Training Kit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sessions.microsoftpdc.com/public/timeline.aspx"&gt;Video Webcast pada PDC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://channel9.msdn.com/shows/10-4"&gt;Video pada Channel 9&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;See you at next post :)&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2010/01/10/net-framework-4-0-overview.aspx&amp;amp;subject=.NET Framework 4.0 Overview" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/10/net-framework-4-0-overview.aspx&amp;amp;t=.NET+Framework+4.0+Overview" target="_blank" title="Submit .NET Framework 4.0 Overview to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/10/net-framework-4-0-overview.aspx&amp;amp;title=.NET+Framework+4.0+Overview" target="_blank" title="Submit .NET Framework 4.0 Overview to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/10/net-framework-4-0-overview.aspx&amp;amp;phase=2" target="_blank" title="Submit .NET Framework 4.0 Overview to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/10/net-framework-4-0-overview.aspx&amp;amp;title=.NET+Framework+4.0+Overview" target="_blank" title="Add .NET Framework 4.0 Overview to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=94446" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term="C# 4.0" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/C_2300_+4.0/default.aspx" /><category term=".NET 4.0" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/.NET+4.0/default.aspx" /><category term="Visual Studio 2010" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Visual+Studio+2010/default.aspx" /><category term="Parallel Extension" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Parallel+Extension/default.aspx" /><category term="ASP.NET 4.0" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/ASP.NET+4.0/default.aspx" /><category term="MEF" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/MEF/default.aspx" /><category term="DLR" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/DLR/default.aspx" /></entry><entry><title>Developing on SharePoint 2010 Intro Tutorial</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2010/01/10/developing-on-sharepoint-2010-intro-tutorial.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2010/01/10/developing-on-sharepoint-2010-intro-tutorial.aspx</id><published>2010-01-10T01:00:00Z</published><updated>2010-01-10T01:00:00Z</updated><content type="html">&lt;p&gt;Folks, this is a exciting news for SharePoint Geeks that the availability of Developing on SharePoint 2010 Tutorial can be access &lt;a href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx"&gt;&lt;img style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;" title="image" border="0" alt="image" src="http://geeks.netindonesia.net/blogs/wely/image_50619B79.png" width="411" height="391" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;You will find the following topics as the brief introduction on SharePoint 2010.&lt;/p&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx"&gt;Getting Started Home Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/sharepoint/ee513148.aspx"&gt;Module 1: Getting Started: Building Web Parts in SharePoint 2010&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/sharepoint/ee513149.aspx"&gt;Module 2: What Developers Need to Know About SharePoint 2010&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/sharepoint/ee513150.aspx"&gt;Module 3: Building Blocks for Web Part Development in SharePoint 2010&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/sharepoint/ee513151.aspx"&gt;Module 4: Accessing SharePoint 2010 Data and Objects with Server-Side APIs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/sharepoint/ee513152.aspx"&gt;Module 5: Accessing SharePoint 2010 Data and Objects with Client-Side APIs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/sharepoint/ee513153.aspx"&gt;Module 6: Accessing External Data with Business Connectivity Services in SharePoint 2010&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/sharepoint/ee513154.aspx"&gt;Module 7: Developing Business Processes with SharePoint 2010 Workflows&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/sharepoint/ee513155.aspx"&gt;Module 8: Creating Silverlight User Interfaces for SharePoint 2010 Solutions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/sharepoint/ee513156.aspx"&gt;Module 9: Sandboxed Solutions for Web Parts in SharePoint 2010&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/sharepoint/ee513157.aspx"&gt;Module 10: Creating Dialog Boxes and Ribbon Controls for SharePoint 2010&lt;/a&gt;&lt;/li&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2010/01/10/developing-on-sharepoint-2010-intro-tutorial.aspx&amp;amp;subject=Developing on SharePoint 2010 Intro Tutorial" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/10/developing-on-sharepoint-2010-intro-tutorial.aspx&amp;amp;t=Developing+on+SharePoint+2010+Intro+Tutorial" target="_blank" title="Submit Developing on SharePoint 2010 Intro Tutorial to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/10/developing-on-sharepoint-2010-intro-tutorial.aspx&amp;amp;title=Developing+on+SharePoint+2010+Intro+Tutorial" target="_blank" title="Submit Developing on SharePoint 2010 Intro Tutorial to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/10/developing-on-sharepoint-2010-intro-tutorial.aspx&amp;amp;phase=2" target="_blank" title="Submit Developing on SharePoint 2010 Intro Tutorial to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/10/developing-on-sharepoint-2010-intro-tutorial.aspx&amp;amp;title=Developing+on+SharePoint+2010+Intro+Tutorial" target="_blank" title="Add Developing on SharePoint 2010 Intro Tutorial to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=184400" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term="SharePoint" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/SharePoint/default.aspx" /><category term="Visual Studio 2010" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Visual+Studio+2010/default.aspx" /></entry><entry><title>VS 2010: Extension Manager</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2010/01/09/vs-2010-extension-manager.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2010/01/09/vs-2010-extension-manager.aspx</id><published>2010-01-09T02:07:00Z</published><updated>2010-01-09T02:07:00Z</updated><content type="html">&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;While Visual Studio has a lot of powerful standard features in supporting developer productivities, Microsoft also allows partners or third-party vendors to develop extension on Visual Studio. Of course you might find some of them are free, however some of them are commercial. &lt;/p&gt;
&lt;p&gt;Browsing and finding appropriate extension for Visual Studio could sometimes be a troublesome for developers as they might probably have to search at any resource from internet. One tips that could possible save your time is navigate to &lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us"&gt;visualstudiogallery.com&lt;/a&gt;, where most of the extension for visual studio have been registered there. However, it still requires amount of efforts in downloading and installing it separately.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us"&gt;&lt;img style="DISPLAY:block;FLOAT:none;MARGIN-LEFT:auto;MARGIN-RIGHT:auto;" alt="Visual Studio logo" src="http://visualstudiogallery.msdn.microsoft.com/Content/VisualStudio/logo.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Extension Manager&lt;/h2&gt;
&lt;p&gt;Extension Manager allows developer to browse for installed as well as online extension. &lt;/p&gt;
&lt;p&gt;To open Extension Manager, you could simple click on Tools Menu and select Extension Manager.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_6D2C2D19.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_596F1DB8.png" width="340" height="356" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Immediately, the Extension Manager will show up. To browse for online extension, click on Online Gallery. You could additionally select the detail extension such as controls, templates, and tools.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_50526C6A.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_5D88CFB0.png" width="496" height="330" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Click download button to download and proceed to the installation.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_2037F51C.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_32709611.png" width="400" height="332" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Having completed the installation, now you are ready to go to use the installed extension.&lt;/p&gt;
&lt;p&gt;Hope this helps!&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2010/01/09/vs-2010-extension-manager.aspx&amp;amp;subject=VS 2010: Extension Manager" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/09/vs-2010-extension-manager.aspx&amp;amp;t=VS+2010%3a+Extension+Manager" target="_blank" title="Submit VS 2010: Extension Manager to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/09/vs-2010-extension-manager.aspx&amp;amp;title=VS+2010%3a+Extension+Manager" target="_blank" title="Submit VS 2010: Extension Manager to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/09/vs-2010-extension-manager.aspx&amp;amp;phase=2" target="_blank" title="Submit VS 2010: Extension Manager to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/09/vs-2010-extension-manager.aspx&amp;amp;title=VS+2010%3a+Extension+Manager" target="_blank" title="Add VS 2010: Extension Manager to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=184768" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term="Visual Studio 2010" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Visual+Studio+2010/default.aspx" /></entry><entry><title>VS 2010: Multi-monitor Support and IDE Docking (Part 2)</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking-part-2.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking-part-2.aspx</id><published>2010-01-08T15:25:00Z</published><updated>2010-01-08T15:25:00Z</updated><content type="html">&lt;p&gt;[continue from &lt;a href="http://geeks.netindonesia.net/blogs/wely/archive/2010/01/05/vs-2010-multi-monitor-support-and-ide-docking.aspx"&gt;part 1&lt;/a&gt;]&lt;/p&gt;
&lt;h3&gt;Drag it outside the main IDE&lt;/h3&gt;
&lt;p&gt;Other than docking inside IDE, VS 2010 allows developer to dock OUTSIDE the IDE.&lt;/p&gt;
&lt;p&gt;Then, what does it mean? It means that you could be able to arrange the windows independently, separately with the main IDE windows.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_255B77AB.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_4D2D6567.png" width="453" height="284" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Additionally, you could also maximize it to your entire screen as show below.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_5C6465AC.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_07B038DC.png" width="461" height="290" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Side by side editing in separated windows is also not a big deal.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_2D1556A4.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_621BA5CB.png" width="464" height="292" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_680E6D00.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_061FC8EB.png" width="465" height="292" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;It is cool, isn’t it?&lt;/p&gt;
&lt;p&gt;I hope you enjoy this post as the features in VS 2010 &lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;.&lt;/p&gt;
&lt;p&gt;See you in the next post.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking-part-2.aspx&amp;amp;subject=VS 2010: Multi-monitor Support and IDE Docking (Part 2)" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking-part-2.aspx&amp;amp;t=VS+2010%3a+Multi-monitor+Support+and+IDE+Docking+(Part+2)" target="_blank" title="Submit VS 2010: Multi-monitor Support and IDE Docking (Part 2) to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking-part-2.aspx&amp;amp;title=VS+2010%3a+Multi-monitor+Support+and+IDE+Docking+(Part+2)" target="_blank" title="Submit VS 2010: Multi-monitor Support and IDE Docking (Part 2) to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking-part-2.aspx&amp;amp;phase=2" target="_blank" title="Submit VS 2010: Multi-monitor Support and IDE Docking (Part 2) to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking-part-2.aspx&amp;amp;title=VS+2010%3a+Multi-monitor+Support+and+IDE+Docking+(Part+2)" target="_blank" title="Add VS 2010: Multi-monitor Support and IDE Docking (Part 2) to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=185158" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term="Visual Studio 2010" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Visual+Studio+2010/default.aspx" /></entry><entry><title>VS 2010: Multi-monitor Support and IDE Docking (Part 1)</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking.aspx</id><published>2010-01-08T14:19:00Z</published><updated>2010-01-08T14:19:00Z</updated><content type="html">&lt;p&gt;Developers may have different preferences in arranging their development environment including the IDE windows and editor. Some of them prefer wide screen editor, while some of them prefer to view multiple-windows at the same time.&lt;/p&gt;
&lt;p&gt;One of the most handy features in VS 2010 is Multi-monitor Support. I believe some of you might consider this is small thing. You are probably correct &lt;img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /&gt;. However, I myself feel it’s quite handy especially for you who like to work on multiple monitor and customizing your IDE windows.&lt;/p&gt;
&lt;p&gt;So, how does it works?&lt;/p&gt;
&lt;h3&gt;Normal View&lt;/h3&gt;
&lt;p&gt;In previous version of Visual Studio, you perhaps normally work in the multiple-tap windows as shown below.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_1420D5C1.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_6A0889CD.png" width="421" height="265" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Windows in Float&lt;/h3&gt;
&lt;p&gt;In VS 2010, now you could arrange the windows in float style.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_1B138AA2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_349F019F.png" width="428" height="269" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Docking the windows&lt;/h3&gt;
&lt;p&gt;Moreover, you could also dock the window by holding. When we start holding it, the direction sign would appear to let us choose where to put the position of the window. We could arrange it to either center, top, down, right, or left.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_77DE9FB2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_57B756F8.png" width="437" height="275" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_1C4EF5C7.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_05439CB4.png" width="441" height="278" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;We could also arrange the windows to be viewed as horizontally or vertically.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_6815CCAB.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_04B2DFF7.png" width="448" height="282" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_26F227A5.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_262DD158.png" width="448" height="282" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;p&gt;[continue to &lt;a href="http://netindonesia.net/blogs/wely/archive/2010/01/05/vs-2010-multi-monitor-support-and-ide-docking-part-2.aspx"&gt;part 2&lt;/a&gt;]&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking.aspx&amp;amp;subject=VS 2010: Multi-monitor Support and IDE Docking (Part 1)" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking.aspx&amp;amp;t=VS+2010%3a+Multi-monitor+Support+and+IDE+Docking+(Part+1)" target="_blank" title="Submit VS 2010: Multi-monitor Support and IDE Docking (Part 1) to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking.aspx&amp;amp;title=VS+2010%3a+Multi-monitor+Support+and+IDE+Docking+(Part+1)" target="_blank" title="Submit VS 2010: Multi-monitor Support and IDE Docking (Part 1) to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking.aspx&amp;amp;phase=2" target="_blank" title="Submit VS 2010: Multi-monitor Support and IDE Docking (Part 1) to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/vs-2010-multi-monitor-support-and-ide-docking.aspx&amp;amp;title=VS+2010%3a+Multi-monitor+Support+and+IDE+Docking+(Part+1)" target="_blank" title="Add VS 2010: Multi-monitor Support and IDE Docking (Part 1) to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=185156" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term="Visual Studio 2010" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Visual+Studio+2010/default.aspx" /></entry><entry><title>Visual Studio 2010 &amp; .NET 4.0 Beta 1: Resources, Installer, Training Kit</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/visual-studio-2010-amp-net-4-0-beta-1-public-download.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/visual-studio-2010-amp-net-4-0-beta-1-public-download.aspx</id><published>2010-01-08T01:22:00Z</published><updated>2010-01-08T01:22:00Z</updated><content type="html">&lt;p&gt;Rekan – rekan developer,&lt;/p&gt;
&lt;p&gt;Beberapa hari yang lalu telah disebutkan bahwa &lt;a href="http://msdn.microsoft.com/subscriptions/downloads/default.aspx?pv=18:370"&gt;Dev10 dan .NET 4.0 telah tersedia untuk MSDN Subscriber&lt;/a&gt;, namun sekarang tidak hanya subscriber saja yang dapat mencobanya, akan tetapi &lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx"&gt;for public&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Ini adalah moment yang sangat menarik buat kita karena kita dapat mulai berexperiment dengan teknologi developer yang paling utama yaitu Visual Studio 2010 dan .NET 4.0 Beta 1. &lt;/p&gt;
&lt;h4&gt;Reference Page&lt;/h4&gt;
&lt;p&gt;Berikut beberapa link penting mengenai VS2010 dan .NET 4:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx"&gt;Visual Studio 2010 Product Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx"&gt;Visual Studio 2010 and .NET Framework 4 Beta 1&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd441784.aspx"&gt;Walkthrough&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/dd238515.aspx"&gt;Visual Studio 2010 Sample&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://channel9.msdn.com/shows/10-4/"&gt;10-4 @ Channel 9&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h4&gt;Installer&lt;/h4&gt;
&lt;p&gt;Download, install, dan berexperiment segera dengan Dev10 dan .NET 4.&lt;/p&gt;
&lt;div align="center"&gt;
&lt;table cellspacing="0" cellpadding="2" align="center"&gt;

&lt;tr&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Microsoft Download&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Mirror at Geeks Portal&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Visual Studio Team System 2010 Beta 1– Team Suite &lt;/td&gt;
&lt;td&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=255fc5f1-15af-4fe7-be4d-263a2621144b&amp;amp;displaylang=en"&gt;Download&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="http://geeks.netindonesia.net/files/folders/vs2010/entry165294.aspx"&gt;Download&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Visual Studio 2010 Professional Beta 1&lt;/td&gt;
&lt;td&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3296bb4f-d8ba-4cfd-aa95-a424c5913f6b&amp;amp;displaylang=en"&gt;Download&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="http://geeks.netindonesia.net/files/folders/vs2010/entry165290.aspx"&gt;Download&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Team Foundation Server 2010 Beta 1&lt;/td&gt;
&lt;td&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=58665c27-7023-4a50-b31d-c39cd86a415f&amp;amp;displaylang=en"&gt;Download&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="http://geeks.netindonesia.net/files/folders/vs2010/entry165406.aspx"&gt;Download&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;.NET Framework 4 Beta 1&lt;/td&gt;
&lt;td&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ee2118cc-51cd-46ad-ab17-af6fff7538c9&amp;amp;displaylang=en"&gt;Download&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="http://geeks.netindonesia.net/files/folders/dotnet4/tags/Full/default.aspx"&gt;Download&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;.NET Framework 4 Client Profile Beta 1&lt;/td&gt;
&lt;td&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0952f95d-df27-4194-b442-8aa80c184710&amp;amp;displaylang=en"&gt;Download&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="http://geeks.netindonesia.net/files/folders/dotnet4/tags/Client+Profile/default.aspx"&gt;Download&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;div align="center"&gt;&amp;nbsp;&lt;/div&gt;
&lt;h4&gt;Training Kit&lt;/h4&gt;
&lt;p&gt;&lt;a title="Description" name="Description"&gt;&lt;/a&gt;The Visual Studio 2010 and .NET Framework 4 Training Kit terdiri dari presentations, hands-on labs, and demos. Training Kit ini dirancang untuk membantu Anda belajar mengutilisasi fitur dari VS2010 dan sejumlah framework teknologi seperti:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;C# 4.0 &lt;/li&gt;
&lt;li&gt;Visual Basic 10 &lt;/li&gt;
&lt;li&gt;F# &lt;/li&gt;
&lt;li&gt;Parallel Extensions &lt;/li&gt;
&lt;li&gt;Windows Communication Foundation &lt;/li&gt;
&lt;li&gt;Windows Workflow &lt;/li&gt;
&lt;li&gt;Windows Presentation Foundation &lt;/li&gt;
&lt;li&gt;ASP.NET 4 &lt;/li&gt;
&lt;li&gt;Entity Framework &lt;/li&gt;
&lt;li&gt;ADO.NET Data Services &lt;/li&gt;
&lt;li&gt;Managed Extensibility Framework &lt;/li&gt;
&lt;li&gt;Visual Studio Team System &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Versi Training Kit ini dirancang untuk VS2010 Beta 1 dan .NET 4.0 Beta 1.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=752CB725-969B-4732-A383-ED5740F02E93&amp;amp;displaylang=en"&gt;VS2010 Training Kit @ Microsoft Download&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://geeks.netindonesia.net/files/folders/trainingkit/entry165450.aspx"&gt;VS2010 Training Kit Mirror @ Geeks Portal&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Hope these help!&lt;/p&gt;
&lt;p&gt;Wely&lt;/p&gt;
&lt;p&gt;Developer Advisor, Microsoft Indonesia&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/visual-studio-2010-amp-net-4-0-beta-1-public-download.aspx&amp;amp;subject=Visual Studio 2010 &amp;amp; .NET 4.0 Beta 1: Resources, Installer, Training Kit" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/visual-studio-2010-amp-net-4-0-beta-1-public-download.aspx&amp;amp;t=Visual+Studio+2010+%26amp%3b+.NET+4.0+Beta+1%3a+Resources%2c+Installer%2c+Training+Kit" target="_blank" title="Submit Visual Studio 2010 &amp;amp; .NET 4.0 Beta 1: Resources, Installer, Training Kit to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/visual-studio-2010-amp-net-4-0-beta-1-public-download.aspx&amp;amp;title=Visual+Studio+2010+%26amp%3b+.NET+4.0+Beta+1%3a+Resources%2c+Installer%2c+Training+Kit" target="_blank" title="Submit Visual Studio 2010 &amp;amp; .NET 4.0 Beta 1: Resources, Installer, Training Kit to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/visual-studio-2010-amp-net-4-0-beta-1-public-download.aspx&amp;amp;phase=2" target="_blank" title="Submit Visual Studio 2010 &amp;amp; .NET 4.0 Beta 1: Resources, Installer, Training Kit to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/08/visual-studio-2010-amp-net-4-0-beta-1-public-download.aspx&amp;amp;title=Visual+Studio+2010+%26amp%3b+.NET+4.0+Beta+1%3a+Resources%2c+Installer%2c+Training+Kit" target="_blank" title="Add Visual Studio 2010 &amp;amp; .NET 4.0 Beta 1: Resources, Installer, Training Kit to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=165466" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term="C# 4.0" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/C_2300_+4.0/default.aspx" /><category term=".NET 4.0" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/.NET+4.0/default.aspx" /><category term="Visual Studio 2010" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Visual+Studio+2010/default.aspx" /><category term="Training Kit" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Training+Kit/default.aspx" /></entry><entry><title>VS 2010: Zoomable Editor</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2010/01/07/vs-2010-zoomable-editor.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2010/01/07/vs-2010-zoomable-editor.aspx</id><published>2010-01-07T10:31:19Z</published><updated>2010-01-07T10:31:19Z</updated><content type="html">&lt;p&gt;This is again a tiny but handy feature in VS 2010.&lt;/p&gt;  &lt;p&gt;I am sure you have ever experienced quite frustrating situation when dealing with inappropriate font size of your code, especially when delivering the presentation with projector. You will need a bigger font so that your audience could see it very clearly.&lt;/p&gt;  &lt;p&gt;What we’ve done in the previous version is Visual Studio is to adjust the font size by doing the following action.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;From Menu, select Tools –&amp;gt; Options.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;When the Options dialog box comes out, select Environment –&amp;gt; Fonts and Colors –&amp;gt; and adjust the Size&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_43913FA4.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_2C361566.png" width="372" height="323" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;It is however could not directly display the whole codes in the resolution which potentially cause readjusting action again.&lt;/p&gt;  &lt;p&gt;All of these limitation could be somehow a troublesome and plumbing experience causing the productivity of a developer. &lt;/p&gt;  &lt;p&gt;Luckily VS 2010 comes out with an interesting feature that allows developer to adjust the zoom level on the spot, just like what we have in Microsoft Word &lt;img alt="Winking" src="http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/3.gif" /&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_7B535DFA.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_309C7060.png" width="257" height="324" /&gt;&lt;/a&gt; &lt;a href="http://netindonesia.net/blogs/wely/image_033ADA90.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_08A94B34.png" width="168" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you see the yellow-highlighted part above, it indicates that the zoom level of your editor.&lt;/p&gt;  &lt;p&gt;You could know change the zoom level by simple click the desired zoom level on it.&lt;/p&gt;  &lt;p&gt;Alternately, you could also use short cut key ( Ctrl + mouse scroll ) to increase your productivity and convenience as appropriate.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_122209AA.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_46FEE91A.png" width="513" height="322" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://netindonesia.net/blogs/wely/image_4A505AF5.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://netindonesia.net/blogs/wely/image_thumb_2184CFDF.png" width="517" height="324" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2010/01/07/vs-2010-zoomable-editor.aspx&amp;amp;subject=VS 2010: Zoomable Editor" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/07/vs-2010-zoomable-editor.aspx&amp;amp;t=VS+2010%3a+Zoomable+Editor" target="_blank" title="Submit VS 2010: Zoomable Editor to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/07/vs-2010-zoomable-editor.aspx&amp;amp;title=VS+2010%3a+Zoomable+Editor" target="_blank" title="Submit VS 2010: Zoomable Editor to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/07/vs-2010-zoomable-editor.aspx&amp;amp;phase=2" target="_blank" title="Submit VS 2010: Zoomable Editor to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2010/01/07/vs-2010-zoomable-editor.aspx&amp;amp;title=VS+2010%3a+Zoomable+Editor" target="_blank" title="Add VS 2010: Zoomable Editor to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=185216" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term="Visual Studio 2010" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Visual+Studio+2010/default.aspx" /></entry><entry><title>31 Days Refactoring</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/wely/archive/2009/10/25/31-days-refactoring.aspx" /><id>http://geeks.netindonesia.net/blogs/wely/archive/2009/10/25/31-days-refactoring.aspx</id><published>2009-10-25T16:10:12Z</published><updated>2009-10-25T16:10:12Z</updated><content type="html">&lt;p&gt;If you like to write well-managed and proper code, I strongly advice you take a look at &lt;a href="http://www.lostechies.com/media/p/27197/download.aspx"&gt;this good stuff&lt;/a&gt;. This whitepaper was prepared by Sean Chambers and Simone Chiaretta. But of course, most material refers to the &lt;a href="http://refactoring.com/"&gt;refactoring.com&lt;/a&gt;, that managed by Mr Refactoring, Martin Fowler.&lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;    &lt;br /&gt;Thanks to &lt;a href="http://geeks.netindonesia.net/blogs/zeddy"&gt;Zeddy&lt;/a&gt; to share us this information through dotnet mailing list.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.netindonesia.net/blogs/wely/image_146824FE.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" title="image" border="0" alt="image" src="http://geeks.netindonesia.net/blogs/wely/image_thumb_659E585C.png" width="217" height="280" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The followings are the list of the refactoring techniques that you will find:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Refactoring Day 1 : Encapsulate Collection&lt;/li&gt;    &lt;li&gt;Refactoring Day 2 : Move Method&lt;/li&gt;    &lt;li&gt;Refactoring Day 3 : Pull Up Method&lt;/li&gt;    &lt;li&gt;Refactoring Day 4 : Push Down Method&lt;/li&gt;    &lt;li&gt;Refactoring Day 5 : Pull Up Field&lt;/li&gt;    &lt;li&gt;Refactoring Day 6 : Push Down Field&lt;/li&gt;    &lt;li&gt;Refactoring Day 7 : Rename (method, class, parameter)&lt;/li&gt;    &lt;li&gt;Refactoring Day 8 : Replace Inheritance with Delegation&lt;/li&gt;    &lt;li&gt;Refactoring Day 9 : Extract Interface&lt;/li&gt;    &lt;li&gt;Refactoring Day 10 : Extract Method&lt;/li&gt;    &lt;li&gt;Refactoring Day 11 : Switch to Strategy&lt;/li&gt;    &lt;li&gt;Refactoring Day 12 : Break Dependencies&lt;/li&gt;    &lt;li&gt;Refactoring Day 13 : Extract Method Object&lt;/li&gt;    &lt;li&gt;Refactoring Day 14 : Break Responsibilities&lt;/li&gt;    &lt;li&gt;Refactoring Day 15 : Remove Duplication&lt;/li&gt;    &lt;li&gt;Refactoring Day 16 : Encapsulate Conditional&lt;/li&gt;    &lt;li&gt;Refactoring Day 17 : Extract Superclass&lt;/li&gt;    &lt;li&gt;Refactoring Day 18 : Replace exception with conditional&lt;/li&gt;    &lt;li&gt;Refactoring Day 19 : Extract Factory Class&lt;/li&gt;    &lt;li&gt;Refactoring Day 20 : Extract Subclass&lt;/li&gt;    &lt;li&gt;Refactoring Day 21 : Collapse Hierarchy&lt;/li&gt;    &lt;li&gt;Refactoring Day 22 : Break Method&lt;/li&gt;    &lt;li&gt;Refactoring Day 23 : Introduce Parameter Object&lt;/li&gt;    &lt;li&gt;Refactoring Day 24 : Remove Arrowhead Antipattern&lt;/li&gt;    &lt;li&gt;Refactoring Day 25 : Introduce Design By Contract checks&lt;/li&gt;    &lt;li&gt;Refactoring Day 26 : Remove Double Negative&lt;/li&gt;    &lt;li&gt;Refactoring Day 27 : Remove God Classes&lt;/li&gt;    &lt;li&gt;Refactoring Day 28 : Rename boolean method&lt;/li&gt;    &lt;li&gt;Refactoring Day 29 : Remove Middle Man&lt;/li&gt;    &lt;li&gt;Refactoring Day 30 : Return ASAP&lt;/li&gt;    &lt;li&gt;Refactoring Day 31 : Replace conditional with Polymorphism&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Why wait? &lt;a href="http://www.lostechies.com/media/p/27197/download.aspx"&gt;Go and grab it now&lt;/a&gt;!&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/wely/archive/2009/10/25/31-days-refactoring.aspx&amp;amp;subject=31 Days Refactoring" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/wely/archive/2009/10/25/31-days-refactoring.aspx&amp;amp;t=31+Days+Refactoring" target="_blank" title="Submit 31 Days Refactoring to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/wely/archive/2009/10/25/31-days-refactoring.aspx&amp;amp;title=31+Days+Refactoring" target="_blank" title="Submit 31 Days Refactoring to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/wely/archive/2009/10/25/31-days-refactoring.aspx&amp;amp;phase=2" target="_blank" title="Submit 31 Days Refactoring to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/wely/archive/2009/10/25/31-days-refactoring.aspx&amp;amp;title=31+Days+Refactoring" target="_blank" title="Add 31 Days Refactoring to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=184159" width="1" height="1"&gt;</content><author><name>Wely</name><uri>http://geeks.netindonesia.net/members/Wely.aspx</uri></author><category term="Refactoring" scheme="http://geeks.netindonesia.net/blogs/wely/archive/tags/Refactoring/default.aspx" /></entry></feed>