<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://dotnet.org.za/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>dotnet.org.za</title><link>http://dotnet.org.za/</link><description>South African .NET Developer Portal</description><dc:language>en-US</dc:language><generator>CommunityServer 2007 SP2 (Build: 20611.960)</generator><item><title>Monthly Dine &amp; Discuss</title><link>http://dotnet.org.za/sam-i-am/archive/2009/07/03/monthly-dine-amp-discuss.aspx</link><pubDate>Fri, 03 Jul 2009 10:03:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1105373</guid><dc:creator>sam-i-am</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Hi All &lt;br /&gt;&lt;/p&gt;&lt;p&gt;We have dotnet dev group started on facebook: http://www.facebook.com/pages/southafrica-dotnet-developers/96074228953?ref=ts&lt;/p&gt;&lt;p&gt;We are looking at having the first Dine &amp;amp; Discuss on thus 30th July at Buzz Cafe on Kloof St, Cape Town:&lt;/p&gt;&lt;p&gt;Monthly dine &amp;amp; discuss to chat about tech related topics. Grab a
beer &amp;amp; a burger and discuss new (and existing!) technologies. Meal
discounts have been arranged.&lt;br /&gt;
&lt;a href="http://www.facebook.com/pages/Cape-Town-South-Africa/Buzz-Cafe/92757588818?ref=ts" target="_blank" rel="nofollow"&gt;http://www.facebook.com/pages/Cape-Town-South-Africa/Buzz-Cafe/92757588818?ref=ts&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Proposed topics for 1st meet:&lt;br /&gt;
&lt;br /&gt;
1) Domain Driven Development using Test Driven Development - Samuel Goldenbaum&lt;br /&gt;
&lt;br /&gt;
2) NHibernate ORM tool - Samuel Goldenbaum&lt;br /&gt;
&lt;br /&gt;
2) SEO considerations when building web applications - Allen Jaffe of RIO Media &lt;br /&gt;
&lt;br /&gt;
3) Codeplex - Stanton Roux&lt;br /&gt;
&lt;br /&gt;
4) Silverlight 3? - ?&lt;br /&gt;
&lt;br /&gt;
5) Agile development &amp;amp; Scrum? - ?&lt;br /&gt;
&lt;br /&gt;
Would like to keep these to 15mins each. Obviously we can discuss topics in detail after.&lt;br /&gt;
&lt;br /&gt;
Anyone keen to cover anything else then send me a mail.&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://dotnet.org.za/sam-i-am/archive/2009/07/03/monthly-dine-amp-discuss.aspx&amp;amp;;subject=Monthly+Dine+%26amp%3b+Discuss" target="_blank" title = "Post http://dotnet.org.za/sam-i-am/archive/2009/07/03/monthly-dine-amp-discuss.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/sam-i-am/archive/2009/07/03/monthly-dine-amp-discuss.aspx&amp;amp;;title=Monthly+Dine+%26amp%3b+Discuss" target="_blank" title = "Post http://dotnet.org.za/sam-i-am/archive/2009/07/03/monthly-dine-amp-discuss.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/sam-i-am/archive/2009/07/03/monthly-dine-amp-discuss.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/sam-i-am/archive/2009/07/03/monthly-dine-amp-discuss.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/sam-i-am/archive/2009/07/03/monthly-dine-amp-discuss.aspx&amp;amp;title=Monthly+Dine+%26amp%3b+Discuss" target="_blank" title = "Post http://dotnet.org.za/sam-i-am/archive/2009/07/03/monthly-dine-amp-discuss.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/sam-i-am/archive/2009/07/03/monthly-dine-amp-discuss.aspx&amp;amp;;title=Monthly+Dine+%26amp%3b+Discuss" target="_blank" title = "Post http://dotnet.org.za/sam-i-am/archive/2009/07/03/monthly-dine-amp-discuss.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/sam-i-am/archive/2009/07/03/monthly-dine-amp-discuss.aspx&amp;amp;;title=Monthly+Dine+%26amp%3b+Discuss&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/sam-i-am/archive/2009/07/03/monthly-dine-amp-discuss.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1105373" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/sam-i-am/archive/tags/agile/default.aspx">agile</category><category domain="http://dotnet.org.za/sam-i-am/archive/tags/cape+town/default.aspx">cape town</category><category domain="http://dotnet.org.za/sam-i-am/archive/tags/codeplex/default.aspx">codeplex</category><category domain="http://dotnet.org.za/sam-i-am/archive/tags/domain+driven+design/default.aspx">domain driven design</category><category domain="http://dotnet.org.za/sam-i-am/archive/tags/meeting/default.aspx">meeting</category><category domain="http://dotnet.org.za/sam-i-am/archive/tags/nhibernate/default.aspx">nhibernate</category><category domain="http://dotnet.org.za/sam-i-am/archive/tags/scrum/default.aspx">scrum</category><category domain="http://dotnet.org.za/sam-i-am/archive/tags/seo/default.aspx">seo</category><category domain="http://dotnet.org.za/sam-i-am/archive/tags/silverlight/default.aspx">silverlight</category></item><item><title>10 Things to know about PRISM</title><link>http://dotnet.org.za/baka/archive/2009/07/03/10-things-to-know-about-prism.aspx</link><pubDate>Fri, 03 Jul 2009 07:56:27 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1105177</guid><dc:creator>Baka</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;… if you did not already know ;-)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.sparklingclient.com/prism-silverlight/"&gt;http://www.sparklingclient.com/prism-silverlight/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Happy Coding   &lt;br /&gt;Baka&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://dotnet.org.za/baka/archive/2009/07/03/10-things-to-know-about-prism.aspx&amp;amp;;subject=10+Things+to+know+about+PRISM" target="_blank" title = "Post http://dotnet.org.za/baka/archive/2009/07/03/10-things-to-know-about-prism.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/baka/archive/2009/07/03/10-things-to-know-about-prism.aspx&amp;amp;;title=10+Things+to+know+about+PRISM" target="_blank" title = "Post http://dotnet.org.za/baka/archive/2009/07/03/10-things-to-know-about-prism.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/baka/archive/2009/07/03/10-things-to-know-about-prism.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/baka/archive/2009/07/03/10-things-to-know-about-prism.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/baka/archive/2009/07/03/10-things-to-know-about-prism.aspx&amp;amp;title=10+Things+to+know+about+PRISM" target="_blank" title = "Post http://dotnet.org.za/baka/archive/2009/07/03/10-things-to-know-about-prism.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/baka/archive/2009/07/03/10-things-to-know-about-prism.aspx&amp;amp;;title=10+Things+to+know+about+PRISM" target="_blank" title = "Post http://dotnet.org.za/baka/archive/2009/07/03/10-things-to-know-about-prism.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/baka/archive/2009/07/03/10-things-to-know-about-prism.aspx&amp;amp;;title=10+Things+to+know+about+PRISM&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/baka/archive/2009/07/03/10-things-to-know-about-prism.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1105177" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/baka/archive/tags/PRISM/default.aspx">PRISM</category></item><item><title>Top 23 .Net Open Source Projects</title><link>http://dotnet.org.za/riaan/archive/2009/07/03/1104622.aspx</link><pubDate>Fri, 03 Jul 2009 02:42:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1104622</guid><dc:creator>riaan</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Below is a link to a list of what is seen by Microsoft as the top 23 OpenSource projects around.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.infoq.com/news/2009/07/23-.NET-Open-Source-Projects"&gt;http://www.infoq.com/news/2009/07/23-.NET-Open-Source-Projects&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Same post is available on &lt;a href="http://www.riaansnyders.co.za/"&gt;www.riaansnyders.co.za&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&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://dotnet.org.za/riaan/archive/2009/07/03/1104622.aspx&amp;amp;;subject=Top+23+.Net+Open+Source+Projects" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/03/1104622.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/riaan/archive/2009/07/03/1104622.aspx&amp;amp;;title=Top+23+.Net+Open+Source+Projects" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/03/1104622.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/riaan/archive/2009/07/03/1104622.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/03/1104622.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/riaan/archive/2009/07/03/1104622.aspx&amp;amp;title=Top+23+.Net+Open+Source+Projects" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/03/1104622.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/riaan/archive/2009/07/03/1104622.aspx&amp;amp;;title=Top+23+.Net+Open+Source+Projects" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/03/1104622.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/riaan/archive/2009/07/03/1104622.aspx&amp;amp;;title=Top+23+.Net+Open+Source+Projects&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/03/1104622.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1104622" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/riaan/archive/tags/Biztalk+Server/default.aspx">Biztalk Server</category><category domain="http://dotnet.org.za/riaan/archive/tags/Custom+Development/default.aspx">Custom Development</category><category domain="http://dotnet.org.za/riaan/archive/tags/Development/default.aspx">Development</category><category domain="http://dotnet.org.za/riaan/archive/tags/dotnet/default.aspx">dotnet</category><category domain="http://dotnet.org.za/riaan/archive/tags/Integration/default.aspx">Integration</category><category domain="http://dotnet.org.za/riaan/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://dotnet.org.za/riaan/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://dotnet.org.za/riaan/archive/tags/startups/default.aspx">startups</category><category domain="http://dotnet.org.za/riaan/archive/tags/WCF/default.aspx">WCF</category><category domain="http://dotnet.org.za/riaan/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://dotnet.org.za/riaan/archive/tags/WF/default.aspx">WF</category><category domain="http://dotnet.org.za/riaan/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://dotnet.org.za/riaan/archive/tags/WPF/default.aspx">WPF</category></item><item><title>My greatest hits…</title><link>http://dotnet.org.za/rudi/archive/2009/07/02/my-greatest-hits.aspx</link><pubDate>Thu, 02 Jul 2009 11:08:23 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1102993</guid><dc:creator>rudi</dc:creator><slash:comments>0</slash:comments><description>&lt;blockquote&gt;   &lt;p&gt;“Your blog is your unedited version of yourself.” - &lt;a href="http://www.finestquotes.com/author_quotes-author-lorelle-page-0.htm"&gt;lorelle&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;img src="http://dotnet.org.za/blogs/rudi/20hits1.jpg" alt="" /&gt;&lt;/p&gt;  &lt;p&gt;Here&amp;#39;s some posts that are the most often-read according to &lt;a href="http://www.google.com/analytics/"&gt;Google Analytics&lt;/a&gt;. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2008/03/25/10-things-i-didn-t-know-about-wpf-data-binding.aspx"&gt;10 things I didn&amp;#39;t know about WPF data binding&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2008/02/13/having-a-wii-bit-of-fun.aspx"&gt;Having a Wii bit of fun...&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2008/04/15/why-wpf-rocks-custom-layout-panel-showcase.aspx"&gt;Why WPF Rocks (Custom Layout Panel Showcase)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2008/11/06/wpf-themes-released.aspx"&gt;WPF Themes Released&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2007/11/09/subtle-background-effect-using-radial-gradient-brush-in-wpf.aspx"&gt;Subtle background effect using Radial Gradient Brush in WPF&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2007/09/28/using-bluetooth-in-net.aspx"&gt;Using Bluetooth in .NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2009/01/12/howto-create-vector-based-backgrounds-in-wpf.aspx"&gt;HOWTO: Create Vector-based backgrounds in WPF&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2008/04/24/pimp-my-listview.aspx"&gt;Pimp my ListView&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2008/04/07/why-wpf-rock-the-content-model.aspx"&gt;Why WPF Rock... (The content model)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2008/10/29/silverlight-love-for-wpf.aspx"&gt;Silverlight love for WPF&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2008/05/22/scrolling-performance-in-wpf.aspx"&gt;Scrolling Performance in WPF&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2007/10/07/how-to-make-a-photo-rotate-in-3d.aspx"&gt;How to make a photo rotate in 3D&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2008/03/27/keeping-track-of-open-windows-in-wpf.aspx"&gt;Keeping track of open windows in WPF&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2008/05/16/using-binding-stringformat.aspx"&gt;Using Binding.StringFormat&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2009/01/21/wpf-disciples.aspx"&gt;WPF Disciples&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2008/10/22/codeproject-creating-a-outlook-calendar-using-wpf-part-1.aspx"&gt;CODEPROJECT: Creating a Outlook Calendar using WPF (Part 1)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2009/03/19/expression-blend-3-is.aspx"&gt;Expression Blend 3 is…&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2009/05/07/creating-a-mvvm-hello-world-application-in-30-seconds.aspx"&gt;Creating a MVVM “Hello World” Application in 30 seconds&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2009/03/05/the-power-of-icommand.aspx"&gt;The power of ICommand&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dotnet.org.za/rudi/archive/2008/01/22/datamodel-view-viewmodel-used-in-a-wpf-application.aspx"&gt;DataModel-View-ViewModel used in a WPF Application&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you enjoy them, consider subscribing via &lt;a href="http://dotnet.org.za/rudi/rss.aspx"&gt;RSS&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://dotnet.org.za/rudi/archive/2009/07/02/my-greatest-hits.aspx&amp;amp;;subject=My+greatest+hits%e2%80%a6" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/07/02/my-greatest-hits.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/rudi/archive/2009/07/02/my-greatest-hits.aspx&amp;amp;;title=My+greatest+hits%e2%80%a6" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/07/02/my-greatest-hits.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/rudi/archive/2009/07/02/my-greatest-hits.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/07/02/my-greatest-hits.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/rudi/archive/2009/07/02/my-greatest-hits.aspx&amp;amp;title=My+greatest+hits%e2%80%a6" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/07/02/my-greatest-hits.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/rudi/archive/2009/07/02/my-greatest-hits.aspx&amp;amp;;title=My+greatest+hits%e2%80%a6" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/07/02/my-greatest-hits.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/rudi/archive/2009/07/02/my-greatest-hits.aspx&amp;amp;;title=My+greatest+hits%e2%80%a6&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/07/02/my-greatest-hits.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1102993" width="1" height="1"&gt;</description></item><item><title>Compact Framework PRoDucTiViTy</title><link>http://dotnet.org.za/russdupreez/archive/2009/07/02/compact-framework-productivity.aspx</link><pubDate>Thu, 02 Jul 2009 08:51:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1102799</guid><dc:creator>russdupreez</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I am really excited now!&lt;/p&gt;
&lt;p&gt;For a long time&amp;nbsp;I have been struggling to develop on the handhelds, It is a pain to&amp;nbsp;debug, test, and&amp;nbsp;deploy. Additionally, it is really sloooww.&lt;/p&gt;
&lt;p&gt;There is a way to target the Desktop from your development environment and develop for the Compact Framework using VS2008.&lt;/p&gt;
&lt;p&gt;It is a small hack but it works. Applications that use device-specific apps will not run properly, but I am sure that if we abstract the functionality &lt;/p&gt;
&lt;p&gt;We will overcome the problem easily. Also the controls render as desktop controls - &lt;/p&gt;
&lt;p&gt;We will still need to Test the application on the handheld&amp;nbsp;itself,&amp;nbsp;but the Increase in developer productivity&amp;nbsp;time will definitely negate the overall testing time on the handheld.&lt;/p&gt;
&lt;p&gt;I tested this developing little test programs that target .Net Framework 2.0 and .Net Framework 3.5 on VS 2008 as well as our &lt;a title="handheld" href="http://www.radix-intl.com/products/fw900.asp" target="_blank"&gt;handheld&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;I found this little nugget &lt;a title="here" href="http://www.danielmoth.com/Blog/2005/01/deploy-to-my-computer.html" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;INSTRUCTIONS&lt;br /&gt;1. In Visual Studio select Tools/Options, and then select Device Tools/Devices from the tree. &lt;br /&gt;2. In the top combo box, select the platform that you want to add desktop deployment to. You&amp;#39;ll need to do this for each platform you want to use. &lt;br /&gt;3. Select one of the devices, (it doesn&amp;#39;t matter which one) and click the Save As... button. Save as &amp;quot;My Computer&amp;quot;. If you&amp;#39;ve already done this for a platform, you&amp;#39;ll need to save subsequent devices with slightly different names (like &amp;quot;My Computer2&amp;quot;) &lt;br /&gt;4. Close VS and open your %USERPROFILE%\Local Settings\Application Data\Microsoft\CoreCon\1.0\conman_ds_platform.xsl file in a text editor. &lt;br /&gt;5. Find the &amp;lt;DEVICE ...&amp;gt; element corresponding to the device you created and add the node (i.e. search for &amp;quot;My Computer&amp;quot; to find the correct node.) &lt;br /&gt;&amp;lt;PROPERTY ID=&amp;quot;IsDesktopDevice&amp;quot; Name=&amp;quot;IsDesktopDevice&amp;quot;&amp;gt;true&amp;lt;/PROPERTY&amp;gt;&lt;br /&gt;Place it right after the first &amp;lt;PROPERTYCONTAINER&amp;gt; tag.&lt;br /&gt;6. Save conman_ds_platform.xsl and restart VS. &lt;br /&gt;&lt;br /&gt;Now when you deploy, you can select &amp;quot;My Computer&amp;quot; from the deploy dialog.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you are developer and&amp;nbsp;you are&amp;nbsp;unaware of design patterns, or&amp;nbsp;it reminds you of the smell&amp;nbsp;rain, go out and buy a book, or just &lt;a title="bing it out" href="http://www.bing.com/search?q=design+patterns&amp;amp;form=OSDSRC"&gt;bing&lt;/a&gt; it out. (hehe use to be google). Finding out about anti-patterns is also a good idea.&lt;/p&gt;
&lt;p&gt;&lt;a title="mfLY!" href="http://www.bluedotsolutions.com/mfly.php"&gt;mfLY!&lt;/a&gt;&amp;nbsp;is has a great implementation of the &lt;a title="MVC Pattern" href="http://en.wikipedia.org/wiki/Model-view-controller"&gt;MVC Pattern&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You will be amazed by this tool. You can download it &lt;a title="Download mfLY!" href="http://www.windowsmobilemvc.com/Default.aspx?tabid=55"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;The tool is basically an addin to VS2008 and you will be able to create an mfLY project opposed to a smart device project or even a desktop project. It allows you to automatically create unit tests using VS2008 unit testing framework.&lt;/p&gt;
&lt;p&gt;I allows you to define workflows and entity relationships visually which is a great productivity enhancer.&lt;/p&gt;
&lt;p&gt;Take a look at this &lt;a title="webcast of mfly" href="https://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032415507&amp;amp;CountryCode=US"&gt;webcast&lt;/a&gt;. It is about an hour long but you will see the benefits.&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://dotnet.org.za/russdupreez/archive/2009/07/02/compact-framework-productivity.aspx&amp;amp;;subject=Compact+Framework+PRoDucTiViTy" target="_blank" title = "Post http://dotnet.org.za/russdupreez/archive/2009/07/02/compact-framework-productivity.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/russdupreez/archive/2009/07/02/compact-framework-productivity.aspx&amp;amp;;title=Compact+Framework+PRoDucTiViTy" target="_blank" title = "Post http://dotnet.org.za/russdupreez/archive/2009/07/02/compact-framework-productivity.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/russdupreez/archive/2009/07/02/compact-framework-productivity.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/russdupreez/archive/2009/07/02/compact-framework-productivity.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/russdupreez/archive/2009/07/02/compact-framework-productivity.aspx&amp;amp;title=Compact+Framework+PRoDucTiViTy" target="_blank" title = "Post http://dotnet.org.za/russdupreez/archive/2009/07/02/compact-framework-productivity.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/russdupreez/archive/2009/07/02/compact-framework-productivity.aspx&amp;amp;;title=Compact+Framework+PRoDucTiViTy" target="_blank" title = "Post http://dotnet.org.za/russdupreez/archive/2009/07/02/compact-framework-productivity.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/russdupreez/archive/2009/07/02/compact-framework-productivity.aspx&amp;amp;;title=Compact+Framework+PRoDucTiViTy&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/russdupreez/archive/2009/07/02/compact-framework-productivity.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1102799" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/russdupreez/archive/tags/Development/default.aspx">Development</category></item><item><title>C# Developer - Fin Back-Eng (IT Jobs)</title><link>http://dotnet.org.za/isolde/archive/2009/07/01/c-developer-fin-back-eng-it-jobs.aspx</link><pubDate>Wed, 01 Jul 2009 14:06:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1100802</guid><dc:creator>Isolde</dc:creator><slash:comments>0</slash:comments><description>&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;A company with a business focus on developing web based systems and n-Tier desktop applications using .Net Remoting on the back end seeks a C# Developer.&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;A top team of developers developing &lt;b style="mso-bidi-font-weight:normal;"&gt;improved business systems and integrated solutions&lt;/b&gt; for the financial environment.&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Systems include&lt;/span&gt;&lt;/b&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;:&lt;/span&gt; 
&lt;ul style="MARGIN-TOP:0cm;"&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l1 level1 lfo2;tab-stops:list 36.0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Insurance management systems&lt;/span&gt;&lt;/b&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt; (everything from procurement and policy management to actuarial valuation)&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l1 level1 lfo2;tab-stops:list 36.0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Loans/Securitization&lt;/span&gt;&lt;/b&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt; and &lt;b style="mso-bidi-font-weight:normal;"&gt;financial management systems&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l1 level1 lfo2;tab-stops:list 36.0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Accounting systems&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Read more:&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;a href="http://www.thecorporatehub.co.za/ITJobs/CDeveloperFinsystems/tabid/16051/Default.aspx"&gt;http://www.thecorporatehub.co.za/ITJobs/CDeveloperFinsystems/tabid/16051/Default.aspx&lt;/a&gt;&lt;/font&gt;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;Contact: &lt;a href="mailto:yolande@thecorporatehub.co.za"&gt;yolande@thecorporatehub.co.za&lt;/a&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&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://dotnet.org.za/isolde/archive/2009/07/01/c-developer-fin-back-eng-it-jobs.aspx&amp;amp;;subject=C%23+Developer+-+Fin+Back-Eng+(IT+Jobs)" target="_blank" title = "Post http://dotnet.org.za/isolde/archive/2009/07/01/c-developer-fin-back-eng-it-jobs.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/isolde/archive/2009/07/01/c-developer-fin-back-eng-it-jobs.aspx&amp;amp;;title=C%23+Developer+-+Fin+Back-Eng+(IT+Jobs)" target="_blank" title = "Post http://dotnet.org.za/isolde/archive/2009/07/01/c-developer-fin-back-eng-it-jobs.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/isolde/archive/2009/07/01/c-developer-fin-back-eng-it-jobs.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/isolde/archive/2009/07/01/c-developer-fin-back-eng-it-jobs.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/isolde/archive/2009/07/01/c-developer-fin-back-eng-it-jobs.aspx&amp;amp;title=C%23+Developer+-+Fin+Back-Eng+(IT+Jobs)" target="_blank" title = "Post http://dotnet.org.za/isolde/archive/2009/07/01/c-developer-fin-back-eng-it-jobs.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/isolde/archive/2009/07/01/c-developer-fin-back-eng-it-jobs.aspx&amp;amp;;title=C%23+Developer+-+Fin+Back-Eng+(IT+Jobs)" target="_blank" title = "Post http://dotnet.org.za/isolde/archive/2009/07/01/c-developer-fin-back-eng-it-jobs.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/isolde/archive/2009/07/01/c-developer-fin-back-eng-it-jobs.aspx&amp;amp;;title=C%23+Developer+-+Fin+Back-Eng+(IT+Jobs)&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/isolde/archive/2009/07/01/c-developer-fin-back-eng-it-jobs.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1100802" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/isolde/archive/tags/.Net/default.aspx">.Net</category><category domain="http://dotnet.org.za/isolde/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnet.org.za/isolde/archive/tags/IT+Careers/default.aspx">IT Careers</category><category domain="http://dotnet.org.za/isolde/archive/tags/IT+Jobs/default.aspx">IT Jobs</category><category domain="http://dotnet.org.za/isolde/archive/tags/SQL/default.aspx">SQL</category><category domain="http://dotnet.org.za/isolde/archive/tags/The+Corporate+Hub/default.aspx">The Corporate Hub</category></item><item><title>PowerBuilder Developer - IT Jobs</title><link>http://dotnet.org.za/isolde/archive/2009/07/01/powerbuilder-developer-it-jobs.aspx</link><pubDate>Wed, 01 Jul 2009 11:23:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1100580</guid><dc:creator>Isolde</dc:creator><slash:comments>0</slash:comments><description>&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;A UK Software Company providing software solutions on a Global travel distribution system is opening a new Software house in SA (Sandton).&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;The company is looking for &lt;strong&gt;PowerBuilder Developer&lt;/strong&gt;. &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Arial;"&gt;The Developer will join the existing team to assist with the development of new functionality (Back- office development). The role will also entail providing support to clients on application software.&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Read more: &lt;a href="http://www.thecorporatehub.co.za/ITJobs/PowerBuilderDeveloper/tabid/16064/Default.aspx"&gt;http://www.thecorporatehub.co.za/ITJobs/PowerBuilderDeveloper/tabid/16064/Default.aspx&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;or contact: &lt;a href="mailto:recruitment@thecorporatehub.co.za"&gt;recruitment@thecorporatehub.co.za&lt;/a&gt;&lt;/span&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://dotnet.org.za/isolde/archive/2009/07/01/powerbuilder-developer-it-jobs.aspx&amp;amp;;subject=PowerBuilder+Developer+-+IT+Jobs" target="_blank" title = "Post http://dotnet.org.za/isolde/archive/2009/07/01/powerbuilder-developer-it-jobs.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/isolde/archive/2009/07/01/powerbuilder-developer-it-jobs.aspx&amp;amp;;title=PowerBuilder+Developer+-+IT+Jobs" target="_blank" title = "Post http://dotnet.org.za/isolde/archive/2009/07/01/powerbuilder-developer-it-jobs.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/isolde/archive/2009/07/01/powerbuilder-developer-it-jobs.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/isolde/archive/2009/07/01/powerbuilder-developer-it-jobs.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/isolde/archive/2009/07/01/powerbuilder-developer-it-jobs.aspx&amp;amp;title=PowerBuilder+Developer+-+IT+Jobs" target="_blank" title = "Post http://dotnet.org.za/isolde/archive/2009/07/01/powerbuilder-developer-it-jobs.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/isolde/archive/2009/07/01/powerbuilder-developer-it-jobs.aspx&amp;amp;;title=PowerBuilder+Developer+-+IT+Jobs" target="_blank" title = "Post http://dotnet.org.za/isolde/archive/2009/07/01/powerbuilder-developer-it-jobs.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/isolde/archive/2009/07/01/powerbuilder-developer-it-jobs.aspx&amp;amp;;title=PowerBuilder+Developer+-+IT+Jobs&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/isolde/archive/2009/07/01/powerbuilder-developer-it-jobs.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1100580" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/isolde/archive/tags/.Net/default.aspx">.Net</category><category domain="http://dotnet.org.za/isolde/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnet.org.za/isolde/archive/tags/IT+Careers/default.aspx">IT Careers</category><category domain="http://dotnet.org.za/isolde/archive/tags/IT+Jobs/default.aspx">IT Jobs</category><category domain="http://dotnet.org.za/isolde/archive/tags/IT+Recruitment/default.aspx">IT Recruitment</category><category domain="http://dotnet.org.za/isolde/archive/tags/MSSQL/default.aspx">MSSQL</category><category domain="http://dotnet.org.za/isolde/archive/tags/PowerBuilder/default.aspx">PowerBuilder</category><category domain="http://dotnet.org.za/isolde/archive/tags/VB.Net/default.aspx">VB.Net</category></item><item><title>Gazelle</title><link>http://dotnet.org.za/riaan/archive/2009/07/01/1099980.aspx</link><pubDate>Wed, 01 Jul 2009 02:51:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1099980</guid><dc:creator>riaan</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Gazelle is Microsoft&amp;#39;s latest research project. Gazelle is a browser with&amp;nbsp;a kernel acting as a multi-principal operating system responsible for managing resource protection and sharing resources between various web site principals.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.infoq.com/news/2009/06/Microsoft-Gazelle"&gt;http://www.infoq.com/news/2009/06/Microsoft-Gazelle&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://dotnet.org.za/riaan/archive/2009/07/01/1099980.aspx&amp;amp;;subject=Gazelle" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/01/1099980.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/riaan/archive/2009/07/01/1099980.aspx&amp;amp;;title=Gazelle" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/01/1099980.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/riaan/archive/2009/07/01/1099980.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/01/1099980.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/riaan/archive/2009/07/01/1099980.aspx&amp;amp;title=Gazelle" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/01/1099980.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/riaan/archive/2009/07/01/1099980.aspx&amp;amp;;title=Gazelle" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/01/1099980.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/riaan/archive/2009/07/01/1099980.aspx&amp;amp;;title=Gazelle&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/01/1099980.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1099980" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/riaan/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnet.org.za/riaan/archive/tags/Custom+Development/default.aspx">Custom Development</category><category domain="http://dotnet.org.za/riaan/archive/tags/Development/default.aspx">Development</category><category domain="http://dotnet.org.za/riaan/archive/tags/innovation/default.aspx">innovation</category><category domain="http://dotnet.org.za/riaan/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://dotnet.org.za/riaan/archive/tags/research/default.aspx">research</category><category domain="http://dotnet.org.za/riaan/archive/tags/Web+2.0/default.aspx">Web 2.0</category></item><item><title>Bing API</title><link>http://dotnet.org.za/riaan/archive/2009/07/01/1099972.aspx</link><pubDate>Wed, 01 Jul 2009 02:44:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1099972</guid><dc:creator>riaan</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;For those that did not know - I didn&amp;#39;t - BING has an API. Read more from MSDN here: &lt;a href="http://msdn.microsoft.com/en-us/library/dd900818.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd900818.aspx&lt;/a&gt;&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;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://dotnet.org.za/riaan/archive/2009/07/01/1099972.aspx&amp;amp;;subject=Bing+API" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/01/1099972.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/riaan/archive/2009/07/01/1099972.aspx&amp;amp;;title=Bing+API" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/01/1099972.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/riaan/archive/2009/07/01/1099972.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/01/1099972.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/riaan/archive/2009/07/01/1099972.aspx&amp;amp;title=Bing+API" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/01/1099972.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/riaan/archive/2009/07/01/1099972.aspx&amp;amp;;title=Bing+API" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/01/1099972.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/riaan/archive/2009/07/01/1099972.aspx&amp;amp;;title=Bing+API&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/07/01/1099972.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1099972" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/riaan/archive/tags/API/default.aspx">API</category><category domain="http://dotnet.org.za/riaan/archive/tags/Bing/default.aspx">Bing</category><category domain="http://dotnet.org.za/riaan/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnet.org.za/riaan/archive/tags/Custom+Development/default.aspx">Custom Development</category><category domain="http://dotnet.org.za/riaan/archive/tags/Development/default.aspx">Development</category><category domain="http://dotnet.org.za/riaan/archive/tags/Integration/default.aspx">Integration</category><category domain="http://dotnet.org.za/riaan/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://dotnet.org.za/riaan/archive/tags/Search+engine/default.aspx">Search engine</category><category domain="http://dotnet.org.za/riaan/archive/tags/Web+2.0/default.aspx">Web 2.0</category></item><item><title>Me, Myself and I</title><link>http://dotnet.org.za/rudi/archive/2009/06/29/me-myself-and-i.aspx</link><pubDate>Mon, 29 Jun 2009 14:08:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1097857</guid><dc:creator>rudi</dc:creator><slash:comments>13</slash:comments><description>&lt;p&gt;I have to start off by apologising for the slow flow of blog articles the last 3 months but I promise you I had some good reasons… Things have been very hectic!&lt;/p&gt;
&lt;p&gt;So, what happened the last 3 months? &lt;/p&gt;
&lt;p&gt;&lt;img src="https://mvp.support.microsoft.com/library/images/support/en-US/MVPLogo.gif" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;On the 1st of April I received the awesome news that I have been selected as Microsoft MVP for Client Application Development!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Congratulations! We are pleased to present you with the 2009 Microsoft MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real worl expertise with others.”&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I have to thank 3 people without whom this would not have been possible! &lt;a href="http://dotnet.org.za/ahmeds"&gt;Ahmed&lt;/a&gt; &amp;amp; &lt;a href="http://dotnet.org.za/eben"&gt;Eben&lt;/a&gt; (From Microsoft) for all their help getting me involved in the community!&lt;/p&gt;
&lt;p&gt;Unfortunately putting in extra effort and getting involved in the community also takes it toll on you personal life… I have to thank my loving wife for putting up with me the last 2 years… Dankie my skat!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.teched.co.za/"&gt;Tech-ed Africa 2009&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.teched.co.za/img/badges/speaker/TENA_blgr2_speaking.gif" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;I also received the excellent news that I would be presenting 3.5 sessions at this years Tech-ed Africa 2009&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DTL314 - Creating “real” devices &lt;/li&gt;
&lt;li&gt;WUX205 - Microsoft Expression Blend from a Developer&amp;#39;s Point of View - Part 1 &lt;/li&gt;
&lt;li&gt;WUX201 - Microsoft Expression Blend from a Developer&amp;#39;s Point of View - Part 2 &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Is that it?&lt;/p&gt;
&lt;p&gt;Just too prove that I haven’t been sitting doing nothing… here is 2 articles I recently released&lt;/p&gt;
&lt;p&gt;&lt;a title="Classic JukeBox" href="http://blogs.msdn.com/coding4fun/archive/2009/05/19/9582639.aspx"&gt;Classic JukeBox&lt;/a&gt; (Coding4Fun)&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.msdn.com/blogfiles/coding4fun/WindowsLiveWriter/ClassicJukeBox_10F5B/CJBLogo_thumb.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;This article also featured on “&lt;a href="http://channel9.msdn.com/shows/This+Week+On+Channel+9/This-Week-on-C9-VS-2010-Beta-1-Windows-API-Code-Pack--a-WPF-Jukebox/"&gt;This Week on Channel 9&lt;/a&gt;”&lt;/p&gt;
&lt;p&gt;&lt;a title="PhotoBooth" href="http://www.codeproject.com/KB/WPF/WPFPhotoBooth.aspx"&gt;PhotoBooth&lt;/a&gt; (CodeProject)&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.codeproject.com/KB/WPF/WPFPhotoBooth/Banner.png" alt="" /&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://dotnet.org.za/rudi/archive/2009/06/29/me-myself-and-i.aspx&amp;amp;;subject=Me%2c+Myself+and+I" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/06/29/me-myself-and-i.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/rudi/archive/2009/06/29/me-myself-and-i.aspx&amp;amp;;title=Me%2c+Myself+and+I" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/06/29/me-myself-and-i.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/rudi/archive/2009/06/29/me-myself-and-i.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/06/29/me-myself-and-i.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/rudi/archive/2009/06/29/me-myself-and-i.aspx&amp;amp;title=Me%2c+Myself+and+I" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/06/29/me-myself-and-i.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/rudi/archive/2009/06/29/me-myself-and-i.aspx&amp;amp;;title=Me%2c+Myself+and+I" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/06/29/me-myself-and-i.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/rudi/archive/2009/06/29/me-myself-and-i.aspx&amp;amp;;title=Me%2c+Myself+and+I&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/06/29/me-myself-and-i.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1097857" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/rudi/archive/tags/Classic+Jukebox/default.aspx">Classic Jukebox</category><category domain="http://dotnet.org.za/rudi/archive/tags/Code+Project/default.aspx">Code Project</category><category domain="http://dotnet.org.za/rudi/archive/tags/Coding4Fun/default.aspx">Coding4Fun</category><category domain="http://dotnet.org.za/rudi/archive/tags/MVP/default.aspx">MVP</category><category domain="http://dotnet.org.za/rudi/archive/tags/PhotoBooth/default.aspx">PhotoBooth</category><category domain="http://dotnet.org.za/rudi/archive/tags/Rudi+Grobler/default.aspx">Rudi Grobler</category><category domain="http://dotnet.org.za/rudi/archive/tags/Tech-Ed/default.aspx">Tech-Ed</category><category domain="http://dotnet.org.za/rudi/archive/tags/This+Week+on+Channel+9/default.aspx">This Week on Channel 9</category></item><item><title>Learnings from Win7 AppCompat Labs</title><link>http://dotnet.org.za/ahmeds/archive/2009/06/29/learnings-from-win7-appcompat-labs.aspx</link><pubDate>Mon, 29 Jun 2009 09:45:49 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1097571</guid><dc:creator>ahmeds</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Last week, we hosted a series of Windows 7 AppCompat Lab for ISVs. I attended along with a consultant. Below are some high level learnings of where apps had issues. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Writing to a “secure” directory – mainly Program Files.&lt;/strong&gt; Many companies had apps where they wrote data or some config information into some kind of INI,XML or SQL Database. Today, if you do not have an application manifest, Windows will virtualize these calls and create a copy of these files in a VirtualStore. You can browse through something like C:\Users\ahmeds\AppData\Local\VirtualStore to see these files. If you do have a manifest, virtualization is turned off – and if you run your name normally, you will likely get a permission denied error.&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Depending on the scenario we would recommend putting this into ProgramData (if the data is shared) or the user Folder (if it is per user)&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Auto Updates of App&lt;/strong&gt;. I was quite interested to see the number of companies who have built auto updating of apps. All of them done in different ways. In many ways this is the same issue as (1) except here you are writing dlls/code rather than data. Some ISVs changed the ACLs so that normal users had write access to these folders. In general you might want to make sure that the updater sits in a different EXE – and you mark this EXE as requires admin. Requires admin in some companies will actually require an admin to type in credentials.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Registry&lt;/strong&gt;. Did not see a lot of this but in some cases applications were writing data to the HKEY LOCAL MACHINE &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;16 bit.&lt;/strong&gt; This was interesting. Everyone’s apps ran on a 64 bit machine (where 16 bit code is not allowed) yet it seemed like some were still shipping some 16 bit DLLs. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;High DPI&lt;/strong&gt;. This is something most apps will have an issue with. Even many MS apps have some issues. As screen resolutions get higher, people will use DPI to make the text bigger. This can cause problems with text,controls etc getting cut off or not being properly visible.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The first 3 are all as a result of UAC. &lt;/p&gt;  &lt;p&gt;At the same time, we also played with the logo test. Most common issues here&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Not providing all the information (like VersionNumber, Publisher etc) when installing the app&lt;/li&gt;    &lt;li&gt;Not signing the code (with Authenticode signature)&lt;/li&gt;    &lt;li&gt;Not having a manifest&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;All three of the above are “easy” to fix but the last one does have ramifications, as indicated in the point (1) in the first part.&lt;/p&gt;  &lt;p&gt;Finally, the tools to help with the analysis is the “Standard User Analyzer” and the Logo test tools.&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://dotnet.org.za/ahmeds/archive/2009/06/29/learnings-from-win7-appcompat-labs.aspx&amp;amp;;subject=Learnings+from+Win7+AppCompat+Labs" target="_blank" title = "Post http://dotnet.org.za/ahmeds/archive/2009/06/29/learnings-from-win7-appcompat-labs.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/ahmeds/archive/2009/06/29/learnings-from-win7-appcompat-labs.aspx&amp;amp;;title=Learnings+from+Win7+AppCompat+Labs" target="_blank" title = "Post http://dotnet.org.za/ahmeds/archive/2009/06/29/learnings-from-win7-appcompat-labs.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/ahmeds/archive/2009/06/29/learnings-from-win7-appcompat-labs.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/ahmeds/archive/2009/06/29/learnings-from-win7-appcompat-labs.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/ahmeds/archive/2009/06/29/learnings-from-win7-appcompat-labs.aspx&amp;amp;title=Learnings+from+Win7+AppCompat+Labs" target="_blank" title = "Post http://dotnet.org.za/ahmeds/archive/2009/06/29/learnings-from-win7-appcompat-labs.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/ahmeds/archive/2009/06/29/learnings-from-win7-appcompat-labs.aspx&amp;amp;;title=Learnings+from+Win7+AppCompat+Labs" target="_blank" title = "Post http://dotnet.org.za/ahmeds/archive/2009/06/29/learnings-from-win7-appcompat-labs.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/ahmeds/archive/2009/06/29/learnings-from-win7-appcompat-labs.aspx&amp;amp;;title=Learnings+from+Win7+AppCompat+Labs&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/ahmeds/archive/2009/06/29/learnings-from-win7-appcompat-labs.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1097571" width="1" height="1"&gt;</description></item><item><title>Behaviors, Triggers and Actions snippets</title><link>http://dotnet.org.za/rudi/archive/2009/06/27/behaviors-triggers-and-actions-snippets.aspx</link><pubDate>Sat, 27 Jun 2009 07:38:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1094261</guid><dc:creator>rudi</dc:creator><slash:comments>3</slash:comments><description>&lt;p&gt;&lt;img src="http://www.teched.co.za/img/badges/speaker/TENA_blgr2_speaking.gif" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;I am fortunate to be presenting a session about &lt;a href="http://www.microsoft.com/Expression/products/Overview.aspx?key=blend"&gt;Expression Blend&lt;/a&gt; at &lt;a href="http://www.teched.co.za/"&gt;Tech-ed Africa 2009&lt;/a&gt;&amp;nbsp; this year. One of the topics I will be covering is how easy it is to create behaviours, triggers and actions using Microsoft.Expression.Interactivity.dll!&lt;/p&gt;
&lt;p&gt;Behaviours, triggers and actions is well encapsulated but still require a small amount of repetitive code… I created 3 snippets to aid in creating them! Here is the default implementations created using the snippets:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Behavior&lt;/strong&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="COLOR:gray;"&gt;/// &amp;lt;summary&amp;gt;
/// 
/// &amp;lt;/summary&amp;gt;
&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public class &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;MyBehavior &lt;/span&gt;: &lt;span style="COLOR:#2b91af;"&gt;Behavior&lt;/span&gt;&amp;lt;&lt;span style="COLOR:#2b91af;"&gt;FrameworkElement&lt;/span&gt;&amp;gt;
{
    &lt;span style="COLOR:gray;"&gt;/// &amp;lt;summary&amp;gt;
    /// 
    /// &amp;lt;/summary&amp;gt;
    &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;protected override void &lt;/span&gt;OnAttached()
    {
        &lt;span style="COLOR:blue;"&gt;base&lt;/span&gt;.OnAttached();
    }

    &lt;span style="COLOR:gray;"&gt;/// &amp;lt;summary&amp;gt;
    /// 
    /// &amp;lt;/summary&amp;gt;
    &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;protected override void &lt;/span&gt;OnDetaching()
    {
        &lt;span style="COLOR:blue;"&gt;base&lt;/span&gt;.OnDetaching();
    }
}&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;strong&gt;Trigger&lt;/strong&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="COLOR:gray;"&gt;/// &amp;lt;summary&amp;gt;
/// 
/// &amp;lt;/summary&amp;gt;
&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public class &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;MyTrigger &lt;/span&gt;: &lt;span style="COLOR:#2b91af;"&gt;TriggerBase&lt;/span&gt;&amp;lt;&lt;span style="COLOR:#2b91af;"&gt;FrameworkElement&lt;/span&gt;&amp;gt;
{
    &lt;span style="COLOR:gray;"&gt;/// &amp;lt;summary&amp;gt;
    /// 
    /// &amp;lt;/summary&amp;gt;
    &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;protected override void &lt;/span&gt;OnAttached()
    {
        &lt;span style="COLOR:blue;"&gt;base&lt;/span&gt;.OnAttached();
    }

    &lt;span style="COLOR:gray;"&gt;/// &amp;lt;summary&amp;gt;
    /// 
    /// &amp;lt;/summary&amp;gt;
    &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;protected override void &lt;/span&gt;OnDetaching()
    {
        &lt;span style="COLOR:blue;"&gt;base&lt;/span&gt;.OnDetaching();
    }
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;&lt;strong&gt;Action&lt;/strong&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="COLOR:gray;"&gt;/// &amp;lt;summary&amp;gt;
/// 
/// &amp;lt;/summary&amp;gt;
&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public class &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;MyAction &lt;/span&gt;: &lt;span style="COLOR:#2b91af;"&gt;TriggerAction&lt;/span&gt;&amp;lt;&lt;span style="COLOR:#2b91af;"&gt;FrameworkElement&lt;/span&gt;&amp;gt;
{
    &lt;span style="COLOR:gray;"&gt;/// &amp;lt;summary&amp;gt;
    /// 
    /// &amp;lt;/summary&amp;gt;
    &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;protected override void &lt;/span&gt;OnAttached()
    {
        &lt;span style="COLOR:blue;"&gt;base&lt;/span&gt;.OnAttached();
    }

    &lt;span style="COLOR:gray;"&gt;/// &amp;lt;summary&amp;gt;
    /// 
    /// &amp;lt;/summary&amp;gt;
    &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;protected override void &lt;/span&gt;OnDetaching()
    {
        &lt;span style="COLOR:blue;"&gt;base&lt;/span&gt;.OnDetaching();
    }

    &lt;span style="COLOR:gray;"&gt;/// &amp;lt;summary&amp;gt;
    /// 
    /// &amp;lt;/summary&amp;gt;
    /// &amp;lt;param name=&amp;quot;parameter&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;
    &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;protected override void &lt;/span&gt;Invoke(&lt;span style="COLOR:blue;"&gt;object &lt;/span&gt;parameter)
    {

    }
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;Download the snippets &lt;a href="http://dotnet.org.za/files/folders/1090300/download.aspx"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;More Information&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="Blend 3- Triggers, Actions, Behaviors" href="http://electricbeach.org/?p=148"&gt;Blend 3- Triggers, Actions, Behaviors&lt;/a&gt; by &lt;a title="Christian Schormann" href="http://www.electricbeach.org/"&gt;Christian Schormann&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a title="http://blogs.msdn.com/expression/archive/2009/03/23/an-introduction-to-behaviors-triggers-and-actions.aspx" href="http://blogs.msdn.com/expression/archive/2009/03/23/an-introduction-to-behaviors-triggers-and-actions.aspx"&gt;An Introduction to Behaviors, Triggers, and Actions&lt;/a&gt; by Jeff Kelly &lt;/li&gt;
&lt;li&gt;&lt;a title="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/05/08/expression-blend-3-more-on-actions-triggers-behaviors.aspx" href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/05/08/expression-blend-3-more-on-actions-triggers-behaviors.aspx"&gt;Expression Blend 3: More on Actions, Triggers, Behaviors&lt;/a&gt; by Mike Taulty &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;If you found this interesting or useful please &lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdotnet.org.za%2frudi%2farchive%2f2009%2f06%2f27%2fbehaviors-triggers-and-actions-snippets.aspx"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdotnet.org.za%2frudi%2farchive%2f2009%2f06%2f27%2fbehaviors-triggers-and-actions-snippets.aspx" /&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://dotnet.org.za/rudi/archive/2009/06/27/behaviors-triggers-and-actions-snippets.aspx&amp;amp;;subject=Behaviors%2c+Triggers+and+Actions+snippets" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/06/27/behaviors-triggers-and-actions-snippets.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/rudi/archive/2009/06/27/behaviors-triggers-and-actions-snippets.aspx&amp;amp;;title=Behaviors%2c+Triggers+and+Actions+snippets" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/06/27/behaviors-triggers-and-actions-snippets.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/rudi/archive/2009/06/27/behaviors-triggers-and-actions-snippets.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/06/27/behaviors-triggers-and-actions-snippets.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/rudi/archive/2009/06/27/behaviors-triggers-and-actions-snippets.aspx&amp;amp;title=Behaviors%2c+Triggers+and+Actions+snippets" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/06/27/behaviors-triggers-and-actions-snippets.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/rudi/archive/2009/06/27/behaviors-triggers-and-actions-snippets.aspx&amp;amp;;title=Behaviors%2c+Triggers+and+Actions+snippets" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/06/27/behaviors-triggers-and-actions-snippets.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/rudi/archive/2009/06/27/behaviors-triggers-and-actions-snippets.aspx&amp;amp;;title=Behaviors%2c+Triggers+and+Actions+snippets&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/rudi/archive/2009/06/27/behaviors-triggers-and-actions-snippets.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1094261" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/rudi/archive/tags/Action/default.aspx">Action</category><category domain="http://dotnet.org.za/rudi/archive/tags/Behavior/default.aspx">Behavior</category><category domain="http://dotnet.org.za/rudi/archive/tags/Blend+3/default.aspx">Blend 3</category><category domain="http://dotnet.org.za/rudi/archive/tags/Snippets/default.aspx">Snippets</category><category domain="http://dotnet.org.za/rudi/archive/tags/Trigger/default.aspx">Trigger</category></item><item><title>Cresterea strutilor</title><link>http://dotnet.org.za/crestereastrutilor/archive/2009/06/26/cresterea-strutilor.aspx</link><pubDate>Fri, 26 Jun 2009 12:07:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1092879</guid><dc:creator>crestereastrutilor</dc:creator><slash:comments>0</slash:comments><description>Afla care sunt beneficiile si cati bani poti castiga avand ferme de struti&lt;br /&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://dotnet.org.za/crestereastrutilor/archive/2009/06/26/cresterea-strutilor.aspx&amp;amp;;subject=Cresterea+strutilor" target="_blank" title = "Post http://dotnet.org.za/crestereastrutilor/archive/2009/06/26/cresterea-strutilor.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/crestereastrutilor/archive/2009/06/26/cresterea-strutilor.aspx&amp;amp;;title=Cresterea+strutilor" target="_blank" title = "Post http://dotnet.org.za/crestereastrutilor/archive/2009/06/26/cresterea-strutilor.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/crestereastrutilor/archive/2009/06/26/cresterea-strutilor.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/crestereastrutilor/archive/2009/06/26/cresterea-strutilor.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/crestereastrutilor/archive/2009/06/26/cresterea-strutilor.aspx&amp;amp;title=Cresterea+strutilor" target="_blank" title = "Post http://dotnet.org.za/crestereastrutilor/archive/2009/06/26/cresterea-strutilor.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/crestereastrutilor/archive/2009/06/26/cresterea-strutilor.aspx&amp;amp;;title=Cresterea+strutilor" target="_blank" title = "Post http://dotnet.org.za/crestereastrutilor/archive/2009/06/26/cresterea-strutilor.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/crestereastrutilor/archive/2009/06/26/cresterea-strutilor.aspx&amp;amp;;title=Cresterea+strutilor&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/crestereastrutilor/archive/2009/06/26/cresterea-strutilor.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1092879" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/crestereastrutilor/archive/tags/cresterea+strutilor/default.aspx">cresterea strutilor</category><category domain="http://dotnet.org.za/crestereastrutilor/archive/tags/ferme+struti/default.aspx">ferme struti</category><category domain="http://dotnet.org.za/crestereastrutilor/archive/tags/struti/default.aspx">struti</category></item><item><title>sadev presentation : SOLID design</title><link>http://dotnet.org.za/johanvw/archive/2009/06/26/sadev-presentation-solid-design.aspx</link><pubDate>Fri, 26 Jun 2009 12:01:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1092899</guid><dc:creator>johanvw</dc:creator><slash:comments>6</slash:comments><description>&lt;p&gt;Earlier this week I was honored to form part of the team presenting at this month&amp;#39;s&amp;nbsp;&lt;a class="" title="sadev" href="http://dotnet.org.za/sadevelopercapetownevents/archive/2009/06/17/24-june-2009-solid-principles-part-1.aspx" target="_blank"&gt;SADEV&lt;/a&gt;&amp;nbsp;meeting .. we covered a very interesting topic, the design principles commonly referred to as the S.O.L.I.D principles for software design. &lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;a href="http://objectmentor.com/omTeam/martin_r.html" target="_blank"&gt;Robert C. Martin&lt;/a&gt;, also known as &amp;quot;Uncle Bob&amp;quot;, compiled a list of 5 principles of class design that became known as the SOLID Principles of Class Design.&amp;nbsp; In this first session of a two part series we take a look at the first three principles:&amp;nbsp; Single Responsibility Principle, Open Closed Principle and Liskov Substitution Principle.&amp;nbsp; Join us as we take a look at these principles and discuss their application.&amp;nbsp;&amp;quot;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m&amp;nbsp;posting both the &lt;a class="" title="Sadev Download" href="http://dotnet.org.za/johanvw/attachment/1092899.ashx" target="_blank"&gt;code and presentation file&lt;/a&gt; together with this article. To everyone that was there and could make it, thank for a wonderful time and I hope it was as much fun as it was for me... :)&amp;nbsp;Rock on !!&lt;/p&gt;
&lt;p&gt;Johan&amp;nbsp;&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://dotnet.org.za/johanvw/archive/2009/06/26/sadev-presentation-solid-design.aspx&amp;amp;;subject=sadev+presentation+%3a+SOLID+design" target="_blank" title = "Post http://dotnet.org.za/johanvw/archive/2009/06/26/sadev-presentation-solid-design.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/johanvw/archive/2009/06/26/sadev-presentation-solid-design.aspx&amp;amp;;title=sadev+presentation+%3a+SOLID+design" target="_blank" title = "Post http://dotnet.org.za/johanvw/archive/2009/06/26/sadev-presentation-solid-design.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/johanvw/archive/2009/06/26/sadev-presentation-solid-design.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/johanvw/archive/2009/06/26/sadev-presentation-solid-design.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/johanvw/archive/2009/06/26/sadev-presentation-solid-design.aspx&amp;amp;title=sadev+presentation+%3a+SOLID+design" target="_blank" title = "Post http://dotnet.org.za/johanvw/archive/2009/06/26/sadev-presentation-solid-design.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/johanvw/archive/2009/06/26/sadev-presentation-solid-design.aspx&amp;amp;;title=sadev+presentation+%3a+SOLID+design" target="_blank" title = "Post http://dotnet.org.za/johanvw/archive/2009/06/26/sadev-presentation-solid-design.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/johanvw/archive/2009/06/26/sadev-presentation-solid-design.aspx&amp;amp;;title=sadev+presentation+%3a+SOLID+design&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/johanvw/archive/2009/06/26/sadev-presentation-solid-design.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1092899" width="1" height="1"&gt;</description><enclosure url="http://dotnet.org.za/johanvw/attachment/1092899.ashx" length="1155032" type="application/x-zip-compressed" /><category domain="http://dotnet.org.za/johanvw/archive/tags/Patterns+_2600_amp_3B00_+Practices/default.aspx">Patterns &amp;amp; Practices</category></item><item><title>Future of VB.NET</title><link>http://dotnet.org.za/riaan/archive/2009/06/24/1089968.aspx</link><pubDate>Wed, 24 Jun 2009 02:54:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1089968</guid><dc:creator>riaan</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;InfoQ article on VB.Net and if there is a future for the language:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.infoq.com/news/2009/06/Future-VB.NET"&gt;http://www.infoq.com/news/2009/06/Future-VB.NET&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&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://dotnet.org.za/riaan/archive/2009/06/24/1089968.aspx&amp;amp;;subject=Future+of+VB.NET" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/24/1089968.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/riaan/archive/2009/06/24/1089968.aspx&amp;amp;;title=Future+of+VB.NET" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/24/1089968.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/riaan/archive/2009/06/24/1089968.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/24/1089968.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/riaan/archive/2009/06/24/1089968.aspx&amp;amp;title=Future+of+VB.NET" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/24/1089968.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/riaan/archive/2009/06/24/1089968.aspx&amp;amp;;title=Future+of+VB.NET" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/24/1089968.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/riaan/archive/2009/06/24/1089968.aspx&amp;amp;;title=Future+of+VB.NET&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/24/1089968.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1089968" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/riaan/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnet.org.za/riaan/archive/tags/Development/default.aspx">Development</category><category domain="http://dotnet.org.za/riaan/archive/tags/dotnet/default.aspx">dotnet</category><category domain="http://dotnet.org.za/riaan/archive/tags/script/default.aspx">script</category><category domain="http://dotnet.org.za/riaan/archive/tags/VB.Net/default.aspx">VB.Net</category></item><item><title>Elevato: OnDemand - Core Services</title><link>http://dotnet.org.za/riaan/archive/2009/06/23/1089381.aspx</link><pubDate>Tue, 23 Jun 2009 11:49:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1089381</guid><dc:creator>riaan</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;nbsp;New Post to www.riaansnyders.co.za on Elevato&amp;#39;s OnDemand platform. This post describes in brief the core services architecture.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&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://dotnet.org.za/riaan/archive/2009/06/23/1089381.aspx&amp;amp;;subject=Elevato%3a+OnDemand+-+Core+Services" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/23/1089381.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/riaan/archive/2009/06/23/1089381.aspx&amp;amp;;title=Elevato%3a+OnDemand+-+Core+Services" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/23/1089381.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/riaan/archive/2009/06/23/1089381.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/23/1089381.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/riaan/archive/2009/06/23/1089381.aspx&amp;amp;title=Elevato%3a+OnDemand+-+Core+Services" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/23/1089381.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/riaan/archive/2009/06/23/1089381.aspx&amp;amp;;title=Elevato%3a+OnDemand+-+Core+Services" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/23/1089381.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/riaan/archive/2009/06/23/1089381.aspx&amp;amp;;title=Elevato%3a+OnDemand+-+Core+Services&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/23/1089381.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1089381" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/riaan/archive/tags/Biztalk+Server/default.aspx">Biztalk Server</category><category domain="http://dotnet.org.za/riaan/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnet.org.za/riaan/archive/tags/Custom+Development/default.aspx">Custom Development</category><category domain="http://dotnet.org.za/riaan/archive/tags/Development/default.aspx">Development</category><category domain="http://dotnet.org.za/riaan/archive/tags/Integration/default.aspx">Integration</category><category domain="http://dotnet.org.za/riaan/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://dotnet.org.za/riaan/archive/tags/startups/default.aspx">startups</category></item><item><title>Things I learned last week #2</title><link>http://dotnet.org.za/pieter/archive/2009/06/23/things-i-learned-last-week-2.aspx</link><pubDate>Tue, 23 Jun 2009 04:11:30 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1089047</guid><dc:creator>Pieter</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="http://dotnet.org.za/pieter/archive/2009/06/15/things-i-learned-last-week.aspx" target="_blank"&gt;Last week&lt;/a&gt; I started a session at work during our Monday morning development meeting called Things I learned last week.&amp;#160; Here is episode #2.&lt;/p&gt;  &lt;p&gt;It was a bit of a dry week in terms of what I learned, but there was a few things worth mentioning.&lt;/p&gt;  &lt;p&gt;I learned:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;to love &lt;a href="http://research.microsoft.com/en-us/projects/contracts/" target="_blank"&gt;Code Contracts&lt;/a&gt;.&amp;#160; I knew that &lt;a href="http://james.newtonking.com/" target="_blank"&gt;James&lt;/a&gt; from &lt;a href="http://www.intergen.co.nz" target="_blank"&gt;Intergen&lt;/a&gt; had done a mentoring session at Intergen and had done the same presentation at &lt;a href="http://www.codecamp.net.nz/" target="_blank"&gt;Code Camp 2009&lt;/a&gt; as I looked at his &lt;a href="http://james.newtonking.com/downloads/codecamp2009/codecontracts.pptx" target="_blank"&gt;presentation&lt;/a&gt; he put up on his &lt;a href="http://james.newtonking.com/" target="_blank"&gt;blog&lt;/a&gt;.&amp;#160; I have read up on Code Contract before then but then quickly forgot about it.&amp;#160; Having a second look and actually RTFM I have to admit that I like it.&amp;#160; So much actually that we have started using it in out new codebase that will only see the light after .NET 4.0 and VS2010 is released and as such this will provide us with some future proving as we don’t then have to pull out all our custom old school pre-condition checking.&amp;#160; Code Contracts also add so much more, for example you can create Code Contracts for Interfaces, post-conditions and Invariants, fantastic stuff.&amp;#160; But as always, use wisely, don’t go and implement everything the static analysis tells you to implement. ;)&lt;/li&gt;    &lt;li&gt;how to use &lt;a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter" target="_blank"&gt;SyntaxHighlighter&lt;/a&gt; and love &lt;a href="http://www.codeplex.com/precode" target="_blank"&gt;PreCode&lt;/a&gt; the &lt;a href="http://windowslivewriter.spaces.live.com/" target="_blank"&gt;Windows Live Writer&lt;/a&gt; add-in.&lt;/li&gt;    &lt;li&gt;about &lt;a href="http://blogs.msdn.com/webdevtools/archive/2009/05/04/web-deployment-web-config-transformation.aspx" target="_blank"&gt;Web.Config Transformation&lt;/a&gt; coming in VS2010.&amp;#160; Finally I can get rid of all the complex homebrew .config handling between all the environments.&lt;/li&gt; &lt;/ul&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://dotnet.org.za/pieter/archive/2009/06/23/things-i-learned-last-week-2.aspx&amp;amp;;subject=Things+I+learned+last+week+%232" target="_blank" title = "Post http://dotnet.org.za/pieter/archive/2009/06/23/things-i-learned-last-week-2.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/pieter/archive/2009/06/23/things-i-learned-last-week-2.aspx&amp;amp;;title=Things+I+learned+last+week+%232" target="_blank" title = "Post http://dotnet.org.za/pieter/archive/2009/06/23/things-i-learned-last-week-2.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/pieter/archive/2009/06/23/things-i-learned-last-week-2.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/pieter/archive/2009/06/23/things-i-learned-last-week-2.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/pieter/archive/2009/06/23/things-i-learned-last-week-2.aspx&amp;amp;title=Things+I+learned+last+week+%232" target="_blank" title = "Post http://dotnet.org.za/pieter/archive/2009/06/23/things-i-learned-last-week-2.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/pieter/archive/2009/06/23/things-i-learned-last-week-2.aspx&amp;amp;;title=Things+I+learned+last+week+%232" target="_blank" title = "Post http://dotnet.org.za/pieter/archive/2009/06/23/things-i-learned-last-week-2.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/pieter/archive/2009/06/23/things-i-learned-last-week-2.aspx&amp;amp;;title=Things+I+learned+last+week+%232&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/pieter/archive/2009/06/23/things-i-learned-last-week-2.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1089047" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/pieter/archive/tags/Things+I+learned/default.aspx">Things I learned</category></item><item><title>Microsoft OracleClient</title><link>http://dotnet.org.za/riaan/archive/2009/06/23/1089027.aspx</link><pubDate>Tue, 23 Jun 2009 03:48:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1089027</guid><dc:creator>riaan</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Microsoft has decided to deprecate its Oracle classes with the release of dotnet 4.0. Read more from InfoQ:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.infoq.com/news/2009/06/oracleclient_deprecated" target="_blank"&gt;&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;a href="http://www.infoq.com/news/2009/06/oracleclient_deprecated" target="_blank"&gt;http://www.infoq.com/news/2009/06/oracleclient_deprecated&lt;/a&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://dotnet.org.za/riaan/archive/2009/06/23/1089027.aspx&amp;amp;;subject=Microsoft+OracleClient" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/23/1089027.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/riaan/archive/2009/06/23/1089027.aspx&amp;amp;;title=Microsoft+OracleClient" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/23/1089027.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/riaan/archive/2009/06/23/1089027.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/23/1089027.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/riaan/archive/2009/06/23/1089027.aspx&amp;amp;title=Microsoft+OracleClient" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/23/1089027.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/riaan/archive/2009/06/23/1089027.aspx&amp;amp;;title=Microsoft+OracleClient" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/23/1089027.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/riaan/archive/2009/06/23/1089027.aspx&amp;amp;;title=Microsoft+OracleClient&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/23/1089027.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1089027" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/riaan/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnet.org.za/riaan/archive/tags/codeplex/default.aspx">codeplex</category><category domain="http://dotnet.org.za/riaan/archive/tags/codesamples/default.aspx">codesamples</category><category domain="http://dotnet.org.za/riaan/archive/tags/Development/default.aspx">Development</category><category domain="http://dotnet.org.za/riaan/archive/tags/patterns/default.aspx">patterns</category><category domain="http://dotnet.org.za/riaan/archive/tags/Practices/default.aspx">Practices</category><category domain="http://dotnet.org.za/riaan/archive/tags/souce+code/default.aspx">souce code</category></item><item><title>CSLA 3.6!</title><link>http://dotnet.org.za/pieterv/archive/2009/06/22/csla-3-6.aspx</link><pubDate>Mon, 22 Jun 2009 09:55:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1088174</guid><dc:creator>pieterv</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;CSLA 3.6 introduces a host of new ways to do the things we used to do, one primary change is the use of LINQ and LINQ to SQL entities as your data layer. This change is pretty cool and the code reduction is even cooler! It is a bit of a mindset change so I seriously recommend reading Rocky Lhotka’s latest book on the framework before diving into it…it’ll make your life easier in the long run.

&lt;/p&gt;&lt;p&gt;In this latest version of my CSLA: Step-by-Step guide, we’ll once again go through the process of creating business objects, bind them to Windows and Web UI’s and we’ll even throw in a WPF UI…

&lt;/p&gt;&lt;p&gt;So without further ado let’s get started. &lt;a href="http://www.mythicalmanmoth.com/blog/post/CSLA-36%21.aspx"&gt;Read more...&lt;/a&gt;&lt;br /&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://dotnet.org.za/pieterv/archive/2009/06/22/csla-3-6.aspx&amp;amp;;subject=CSLA+3.6!" target="_blank" title = "Post http://dotnet.org.za/pieterv/archive/2009/06/22/csla-3-6.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/pieterv/archive/2009/06/22/csla-3-6.aspx&amp;amp;;title=CSLA+3.6!" target="_blank" title = "Post http://dotnet.org.za/pieterv/archive/2009/06/22/csla-3-6.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/pieterv/archive/2009/06/22/csla-3-6.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/pieterv/archive/2009/06/22/csla-3-6.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/pieterv/archive/2009/06/22/csla-3-6.aspx&amp;amp;title=CSLA+3.6!" target="_blank" title = "Post http://dotnet.org.za/pieterv/archive/2009/06/22/csla-3-6.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/pieterv/archive/2009/06/22/csla-3-6.aspx&amp;amp;;title=CSLA+3.6!" target="_blank" title = "Post http://dotnet.org.za/pieterv/archive/2009/06/22/csla-3-6.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/pieterv/archive/2009/06/22/csla-3-6.aspx&amp;amp;;title=CSLA+3.6!&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/pieterv/archive/2009/06/22/csla-3-6.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1088174" width="1" height="1"&gt;</description></item><item><title>UI Framework for Windows Mobile</title><link>http://dotnet.org.za/riaan/archive/2009/06/22/1087755.aspx</link><pubDate>Mon, 22 Jun 2009 03:56:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1087755</guid><dc:creator>riaan</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;This is a framework allowing you to create attractive UI&amp;#39;s for Windows Mobile based applications. Something to look into: &lt;a href="http://code.msdn.microsoft.com/uiframework"&gt;http://code.msdn.microsoft.com/uiframework&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://dotnet.org.za/riaan/archive/2009/06/22/1087755.aspx&amp;amp;;subject=UI+Framework+for+Windows+Mobile" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/22/1087755.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/riaan/archive/2009/06/22/1087755.aspx&amp;amp;;title=UI+Framework+for+Windows+Mobile" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/22/1087755.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/riaan/archive/2009/06/22/1087755.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/22/1087755.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/riaan/archive/2009/06/22/1087755.aspx&amp;amp;title=UI+Framework+for+Windows+Mobile" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/22/1087755.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/riaan/archive/2009/06/22/1087755.aspx&amp;amp;;title=UI+Framework+for+Windows+Mobile" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/22/1087755.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/riaan/archive/2009/06/22/1087755.aspx&amp;amp;;title=UI+Framework+for+Windows+Mobile&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/22/1087755.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1087755" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/riaan/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnet.org.za/riaan/archive/tags/Custom+Development/default.aspx">Custom Development</category><category domain="http://dotnet.org.za/riaan/archive/tags/Development/default.aspx">Development</category><category domain="http://dotnet.org.za/riaan/archive/tags/dotnet/default.aspx">dotnet</category><category domain="http://dotnet.org.za/riaan/archive/tags/IPhone/default.aspx">IPhone</category><category domain="http://dotnet.org.za/riaan/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://dotnet.org.za/riaan/archive/tags/Mobile/default.aspx">Mobile</category><category domain="http://dotnet.org.za/riaan/archive/tags/riaan+snyders/default.aspx">riaan snyders</category><category domain="http://dotnet.org.za/riaan/archive/tags/SMS/default.aspx">SMS</category><category domain="http://dotnet.org.za/riaan/archive/tags/startups/default.aspx">startups</category><category domain="http://dotnet.org.za/riaan/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category></item><item><title>Custom tooltips and Microsoft’s chart control</title><link>http://dotnet.org.za/rohland/archive/2009/06/21/custom-tooltips-and-microsoft-s-chart-control.aspx</link><pubDate>Sun, 21 Jun 2009 21:12:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1087153</guid><dc:creator>Rohland</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I have been meaning to blog about this topic for a while now because I am interested to find out if anyone else has picked up performance issues when using the Microsoft Chart Controls and the “MapAreaAttributes” property to create custom tooltips.&lt;/p&gt;  &lt;p&gt;Before going into the mechanics of creating a custom tooltip as suggested by the documentation provided with the charting framework, I thought I would simply outline how you would create an instance of the default styled tooltip:&lt;/p&gt;  &lt;div style="padding-bottom:8px;padding-left:8px;padding-right:8px;font-family:consolas;background:black;color:white;font-size:10pt;font-weight:bold;padding-top:8px;"&gt;   &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;1&lt;/span&gt; series.Points.DataBind(data,&lt;span style="color:#a5c25c;"&gt;&amp;quot;X&amp;quot;&lt;/span&gt;,&lt;span style="color:#a5c25c;"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;,&lt;span style="color:#a5c25c;"&gt;&amp;quot;Tooltip=MyTooltipProperty&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;The code above illustrates the databinding capabilities of the charting control. The &lt;em&gt;data&lt;/em&gt; array is made up of a list of objects that are of type &lt;em&gt;Point &lt;/em&gt;which is a simple class I created:&lt;/p&gt;

&lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas;background:black;color:white;font-size:10pt;font-weight:bold;padding-top:5px;"&gt;
  &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 1&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;public&lt;/span&gt; &lt;span style="color:#cc7832;"&gt;class&lt;/span&gt; &lt;span style="color:#ffc66d;"&gt;Point&lt;/span&gt;&lt;/p&gt;

  &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 2&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;

  &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 3&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;public&lt;/span&gt; &lt;span style="color:#cc7832;"&gt;double&lt;/span&gt; X {&lt;span style="color:#cc7832;"&gt;get&lt;/span&gt;;&lt;span style="color:#cc7832;"&gt;set&lt;/span&gt;;}&lt;/p&gt;

  &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 4&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;public&lt;/span&gt; &lt;span style="color:#cc7832;"&gt;double&lt;/span&gt; Y { &lt;span style="color:#cc7832;"&gt;get&lt;/span&gt;; &lt;span style="color:#cc7832;"&gt;set&lt;/span&gt;; }&lt;/p&gt;

  &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 5&lt;/span&gt;&amp;#160;&lt;/p&gt;

  &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 6&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;public&lt;/span&gt; &lt;span style="color:#cc7832;"&gt;string&lt;/span&gt; MyTooltipProperty { &lt;span style="color:#cc7832;"&gt;get&lt;/span&gt;; &lt;span style="color:#cc7832;"&gt;set&lt;/span&gt;; }&lt;/p&gt;

  &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 7&lt;/span&gt;&amp;#160;&lt;/p&gt;

  &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 8&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;public&lt;/span&gt; Point()&lt;/p&gt;

  &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 9&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;

  &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 10&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;this&lt;/span&gt;&lt;span style="font-weight:normal;"&gt;.MyTooltipProperty = &lt;/span&gt;&lt;span style="color:#a5c25c;"&gt;&amp;quot;Hello!&amp;quot;&lt;/span&gt;;&lt;/p&gt;

  &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 11&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;

  &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 12&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;From the above it is obvious that each data point’s tooltip will look like something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://dotnet.org.za/blogs/rohland/NormalTooltip_07185AF0.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="NormalTooltip" border="0" alt="NormalTooltip" src="http://dotnet.org.za/blogs/rohland/NormalTooltip_thumb_3469CAF3.jpg" width="244" height="236" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;The tooltip is simply rendered using the relevant browser’s default implementation for elements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Custom Tooltips:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You may be aware of the charting framework’s capability for creating rich HTML tooltips using the &lt;em&gt;MapAreaAttributes&lt;/em&gt; property. As illustrated in an example provided with the framework you could create an HTML tooltip using code similar to that shown below:&lt;/p&gt;

&lt;div style="padding-bottom:3px;padding-left:3px;padding-right:3px;font-family:consolas;background:black;color:white;font-size:10pt;font-weight:bold;padding-top:3px;"&gt;
  &lt;p style="margin:0px;"&gt;series.Points[j].MapAreaAttributes = &lt;span style="color:#a5c25c;"&gt;&amp;quot;onmouseover=\&amp;quot;DisplayToolTip(&amp;#39;&amp;lt;strong&amp;gt;Hello From an HTML tooltip&amp;lt;/strong&amp;gt;&amp;#39;);\&amp;quot; onmouseout=\&amp;quot;HideToo&lt;/span&gt;&lt;span style="color:#a5c25c;"&gt;ltip();\&amp;quot;&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;The &lt;em&gt;DisplayTooltip &lt;/em&gt;method referenced is a JavaScript method which essentially displays an absolutely positioned element which tracks your mouse position. The method is fired as you hover over the data point area (which is defined by an image area map). The parameter passed to the method is injected into the element as HTML. As you mouse out of the area (the relevant data point) the &lt;em&gt;Hidetooltip &lt;/em&gt;method fires and hides the element displaying the custom tooltip. Using this methodology your tooltip could look something like this:&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;a href="http://dotnet.org.za/blogs/rohland/htmltooltip_0961B721.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="htmltooltip" border="0" alt="htmltooltip" src="http://dotnet.org.za/blogs/rohland/htmltooltip_thumb_2040889D.png" width="244" height="187" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;This looks promising because it illustrates the capability to extend our tooltips to include images, links etc. however, there is a caveat. I picked up an issue when you have a chart with a large number of data points, or a number of charts on a single page that utilise this feature. I started noticing that page loads took longer than usual. I put together a test page that rendered 40 instances of the same chart as shown above using the default tooltip. With tracing turned on the page took roughly 270ms to render:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://dotnet.org.za/blogs/rohland/defaultperf_5257B31A.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="defaultperf" border="0" alt="defaultperf" src="http://dotnet.org.za/blogs/rohland/defaultperf_thumb_3682B5BD.jpg" width="488" height="313" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;

&lt;p&gt;By implementing one extra line of code to implement my rich HTML tooltip using the &lt;em&gt;MapAreaAttributes&lt;/em&gt; property as outlined earlier, the page took almost 5 seconds to render!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://dotnet.org.za/blogs/rohland/customperf_3E5A0C85.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="customperf" border="0" alt="customperf" src="http://dotnet.org.za/blogs/rohland/customperf_thumb_6A46980F.jpg" width="491" height="316" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;It turns out anyone who dares to use the MapAreaAttributes property is severely penalised! Clearly we can’t put a page into production that takes 5 seconds just to render our charts, so we either need to revert to our dull looking tooltips or look for other ways to achieve rich HTML tooltip functionality.&lt;/p&gt;

&lt;p&gt;Now, we know that setting the tooltip property doesn’t seem to have any performance impact but that it doesn’t result in a pretty looking tooltip either, but what if we could use the tooltip property to store the HTML tooltip markup. I know what your thinking:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://dotnet.org.za/blogs/rohland/Uglytooltip_2481C257.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Uglytooltip" border="0" alt="Uglytooltip" src="http://dotnet.org.za/blogs/rohland/Uglytooltip_thumb_5A3707B1.jpg" width="244" height="112" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Yuck. That will certainly have your users scratching their heads. So, what next? So far we know that using the example as provided by the charting documentation has an adverse affect on rendering times so that’s not ideal. Default tooltip styles work without performance issues but don’t allow us to render rich tooltips. Injecting HTML into the default tooltip property means our users need to slap on their XHTML goggles.&lt;/p&gt;

&lt;p&gt;Well, there is an option available which I will outline here.&amp;#160; Essentially, it relies on the ability to interpret the default tooltip property and project it into a custom tooltip that we control. If we look at the HTML rendered by the chart control, you will notice an associated image map that looks something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://dotnet.org.za/blogs/rohland/markup_70A9A638.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="markup" border="0" alt="markup" src="http://dotnet.org.za/blogs/rohland/markup_thumb_0F1FF8F0.png" width="514" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;As you can see, our HTML tooltip detail is sitting inside the title property, encoded of course. If we leave the mark-up untouched and hover over any element on the chart, the default tooltip is rendered with unparsed HTML. Thankfully, we can access this image map using JavaScript to rebuild the image map with mouseover/out events to render our custom tooltip. While this is exactly what setting the &lt;em&gt;MapAreaAttributes&lt;/em&gt; property is supposed to do, modifying the rendered HTML to do the same thing bypasses the performance issue noted. I have provided the JavaScript method below which rebuilds the image map. All that is required, from a server side scripting point of view, is the registration of a start-up script to process any chart you wish to load with custom tooltips.&lt;/p&gt;

&lt;div style="padding-bottom:8px;padding-left:8px;padding-right:8px;font-family:consolas;background:black;color:white;font-size:10pt;font-weight:bold;padding-top:8px;"&gt;
  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 1&lt;/span&gt; RebuildImageMap: &lt;span style="color:#cc7832;"&gt;function&lt;/span&gt;(id) {&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 2&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;// Fetch the image and grab the imagemap ID&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 3&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;var&lt;/span&gt; map = $(&lt;span style="color:#a5c25c;"&gt;&amp;quot;#&amp;quot;&lt;/span&gt; + id).attr(&lt;span style="color:#a5c25c;"&gt;&amp;quot;usemap&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 4&lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 5&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;// If the map ID is null, then perhaps there &lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 6&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;// were no datapoints. Don&amp;#39;t bother &lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 7&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;// processing an empty set&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 8&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;if&lt;/span&gt; (map == &lt;span style="color:#cc7832;"&gt;null&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160;&amp;#160; 9&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;return&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 10&lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 11&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;// Fetch the map element using jQuery and &lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 12&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;// return the raw HTML element&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 13&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;var&lt;/span&gt; areaMap = $(map)[&lt;span style="color:#6897bb;"&gt;0&lt;/span&gt;];&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 14&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;if&lt;/span&gt; (areaMap == &lt;span style="color:#cc7832;"&gt;null&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 15&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;return&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 16&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 17&lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 18&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;// Create an empty array to store our new elements&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 19&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;var&lt;/span&gt; elementArray = [];&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 20&lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 21&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;// Iterate over existing map elements and create a new &lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 22&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;// set with our mouseover/out events&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 23&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;for&lt;/span&gt; (&lt;span style="color:#cc7832;"&gt;var&lt;/span&gt; i = &lt;span style="color:#6897bb;"&gt;0&lt;/span&gt;; i &amp;lt; areaMap.areas.length; i++) {&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 24&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;var&lt;/span&gt; oldAreaElement = areaMap.areas&lt;img src="http://dotnet.org.za/emoticons/emotion-55.gif" alt="Idea" /&gt;;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 25&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;var&lt;/span&gt; element = document.createElement(&lt;span style="color:#a5c25c;"&gt;&amp;quot;AREA&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 26&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; element.shape = oldAreaElement.shape;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 27&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; element.coords = oldAreaElement.coords;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 28&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 29&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; element.tooltip = oldAreaElement.title;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 30&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; element.onmouseover =&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 31&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;function&lt;/span&gt;() { DisplayTooltip(&lt;span style="color:#cc7832;"&gt;this&lt;/span&gt;.tooltip); };&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 32&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; element.onmouseout = &lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 33&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;function&lt;/span&gt;() { HideTooltip(); };&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 34&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; element.href = oldAreaElement.href;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 35&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; elementArray[elementArray.length] = element;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 36&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 37&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;// Get rid of the old map elements&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 38&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; areaMap.innerHTML = &lt;span style="color:#a5c25c;"&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 39&lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 40&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;// Add our new elements back in&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 41&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;for&lt;/span&gt; (&lt;span style="color:#cc7832;"&gt;var&lt;/span&gt; i = &lt;span style="color:#6897bb;"&gt;0&lt;/span&gt;; i &amp;lt; elementArray.length; i++) {&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 42&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; areaMap.appendChild(elementArray&lt;img src="http://dotnet.org.za/emoticons/emotion-55.gif" alt="Idea" /&gt;);&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 43&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 44&lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#2b91af;font-weight:normal;"&gt;&amp;#160;&amp;#160; 45&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;The code above utilises jQuery which is useful, but not required to get the job done. If you are going to use another framework, just note that the map attribute (which contains the map’s ID) is prefixed with a #. You may want to get rid of that. The code above is a modified
  &lt;br /&gt;snippet of an existing class. The &lt;em&gt;DisplayTooltip&lt;/em&gt; method simply takes the tooltip HTML and loads it into a custom hidden element on the page. It then displays the element and tracks the mouse position so the element moves as the user’s cursor does. The &lt;em&gt;HideTooltip &lt;/em&gt;method simply hides the tooltip and resets the HTML content. Using this technique, our HTML tooltip is rendered correctly without using the &lt;em&gt;MapAreaAttributes&lt;/em&gt;&amp;#160; property.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;a href="http://dotnet.org.za/blogs/rohland/htmltooltip_0961B721.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="htmltooltip" border="0" alt="htmltooltip" src="http://dotnet.org.za/blogs/rohland/htmltooltip_thumb_2040889D.png" width="244" height="187" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;So far I have tested this method of rendering custom tooltips in Firefox, IE 7/8 and Chrome. Its a pity that this was required in the first place. I am really not sure why setting the &lt;em&gt;MapAreaAttributes&lt;/em&gt;&amp;#160; property has such a huge impact on rendering times. If anyone could shed light on the matter, please feel free to post the detail! For now, the implementation above will suffice. Since the image map processing is performed on the client side, there is no effect on the server side processing time.&lt;/p&gt;

&lt;p&gt;Hope this helps someone out there.&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://dotnet.org.za/rohland/archive/2009/06/21/custom-tooltips-and-microsoft-s-chart-control.aspx&amp;amp;;subject=Custom+tooltips+and+Microsoft%e2%80%99s+chart+control" target="_blank" title = "Post http://dotnet.org.za/rohland/archive/2009/06/21/custom-tooltips-and-microsoft-s-chart-control.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/rohland/archive/2009/06/21/custom-tooltips-and-microsoft-s-chart-control.aspx&amp;amp;;title=Custom+tooltips+and+Microsoft%e2%80%99s+chart+control" target="_blank" title = "Post http://dotnet.org.za/rohland/archive/2009/06/21/custom-tooltips-and-microsoft-s-chart-control.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/rohland/archive/2009/06/21/custom-tooltips-and-microsoft-s-chart-control.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/rohland/archive/2009/06/21/custom-tooltips-and-microsoft-s-chart-control.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/rohland/archive/2009/06/21/custom-tooltips-and-microsoft-s-chart-control.aspx&amp;amp;title=Custom+tooltips+and+Microsoft%e2%80%99s+chart+control" target="_blank" title = "Post http://dotnet.org.za/rohland/archive/2009/06/21/custom-tooltips-and-microsoft-s-chart-control.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/rohland/archive/2009/06/21/custom-tooltips-and-microsoft-s-chart-control.aspx&amp;amp;;title=Custom+tooltips+and+Microsoft%e2%80%99s+chart+control" target="_blank" title = "Post http://dotnet.org.za/rohland/archive/2009/06/21/custom-tooltips-and-microsoft-s-chart-control.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/rohland/archive/2009/06/21/custom-tooltips-and-microsoft-s-chart-control.aspx&amp;amp;;title=Custom+tooltips+and+Microsoft%e2%80%99s+chart+control&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/rohland/archive/2009/06/21/custom-tooltips-and-microsoft-s-chart-control.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1087153" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/rohland/archive/tags/Development/default.aspx">Development</category><category domain="http://dotnet.org.za/rohland/archive/tags/Microsoft+Chart+Controls/default.aspx">Microsoft Chart Controls</category><category domain="http://dotnet.org.za/rohland/archive/tags/Performance/default.aspx">Performance</category></item><item><title>The MOSS Show – Episode 4</title><link>http://dotnet.org.za/hiltong/archive/2009/06/21/the-moss-show-episode-4.aspx</link><pubDate>Sun, 21 Jun 2009 18:09:52 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1086897</guid><dc:creator>hiltong</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;After a loooong delay, I finally managed to finish editing episode 4 of &lt;a href="http://www.themossshow.com/" target="_blank"&gt;The MOSS Show&lt;/a&gt;. In this episode, I interview our very own &lt;a href="http://dotnet.org.za/zlatan/" target="_blank"&gt;Zlatan Dzinic&lt;/a&gt; on &lt;a href="http://www.themossshow.com/?p=105" target="_blank"&gt;Records Management in MOSS&lt;/a&gt;. It was an interesting editing job – we had some “technical” difficulties, so I had to basically rebuild Zlatan’s side of the conversation word by word, in a hour-long recording!!&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://dotnet.org.za/hiltong/archive/2009/06/21/the-moss-show-episode-4.aspx&amp;amp;;subject=The+MOSS+Show+%e2%80%93+Episode+4" target="_blank" title = "Post http://dotnet.org.za/hiltong/archive/2009/06/21/the-moss-show-episode-4.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/hiltong/archive/2009/06/21/the-moss-show-episode-4.aspx&amp;amp;;title=The+MOSS+Show+%e2%80%93+Episode+4" target="_blank" title = "Post http://dotnet.org.za/hiltong/archive/2009/06/21/the-moss-show-episode-4.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/hiltong/archive/2009/06/21/the-moss-show-episode-4.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/hiltong/archive/2009/06/21/the-moss-show-episode-4.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/hiltong/archive/2009/06/21/the-moss-show-episode-4.aspx&amp;amp;title=The+MOSS+Show+%e2%80%93+Episode+4" target="_blank" title = "Post http://dotnet.org.za/hiltong/archive/2009/06/21/the-moss-show-episode-4.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/hiltong/archive/2009/06/21/the-moss-show-episode-4.aspx&amp;amp;;title=The+MOSS+Show+%e2%80%93+Episode+4" target="_blank" title = "Post http://dotnet.org.za/hiltong/archive/2009/06/21/the-moss-show-episode-4.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/hiltong/archive/2009/06/21/the-moss-show-episode-4.aspx&amp;amp;;title=The+MOSS+Show+%e2%80%93+Episode+4&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/hiltong/archive/2009/06/21/the-moss-show-episode-4.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1086897" width="1" height="1"&gt;</description></item><item><title>Suppress script errors in WebBrowser</title><link>http://dotnet.org.za/adel/archive/2009/06/21/suppress-script-errors-in-webbrowser.aspx</link><pubDate>Sun, 21 Jun 2009 09:21:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1086161</guid><dc:creator>adel</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;To Suppress and hide script errors in &lt;span&gt;WebBrowser&lt;/span&gt;, the &lt;span&gt;ScriptErrorsSuppressed&lt;/span&gt; property must be set to &lt;span&gt;true&lt;/span&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://dotnet.org.za/adel/archive/2009/06/21/suppress-script-errors-in-webbrowser.aspx&amp;amp;;subject=Suppress+script+errors+in+WebBrowser" target="_blank" title = "Post http://dotnet.org.za/adel/archive/2009/06/21/suppress-script-errors-in-webbrowser.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/adel/archive/2009/06/21/suppress-script-errors-in-webbrowser.aspx&amp;amp;;title=Suppress+script+errors+in+WebBrowser" target="_blank" title = "Post http://dotnet.org.za/adel/archive/2009/06/21/suppress-script-errors-in-webbrowser.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/adel/archive/2009/06/21/suppress-script-errors-in-webbrowser.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/adel/archive/2009/06/21/suppress-script-errors-in-webbrowser.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/adel/archive/2009/06/21/suppress-script-errors-in-webbrowser.aspx&amp;amp;title=Suppress+script+errors+in+WebBrowser" target="_blank" title = "Post http://dotnet.org.za/adel/archive/2009/06/21/suppress-script-errors-in-webbrowser.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/adel/archive/2009/06/21/suppress-script-errors-in-webbrowser.aspx&amp;amp;;title=Suppress+script+errors+in+WebBrowser" target="_blank" title = "Post http://dotnet.org.za/adel/archive/2009/06/21/suppress-script-errors-in-webbrowser.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/adel/archive/2009/06/21/suppress-script-errors-in-webbrowser.aspx&amp;amp;;title=Suppress+script+errors+in+WebBrowser&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/adel/archive/2009/06/21/suppress-script-errors-in-webbrowser.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1086161" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/adel/archive/tags/.Net+WebBrowser/default.aspx">.Net WebBrowser</category></item><item><title>Modern Software</title><link>http://dotnet.org.za/riaan/archive/2009/06/20/1084981.aspx</link><pubDate>Sat, 20 Jun 2009 15:43:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1084981</guid><dc:creator>riaan</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;New post at &lt;a href="http://www.riaansnyders.co.za/"&gt;www.riaansnyders.co.za&lt;/a&gt; on modern software and the design of &amp;quot;OnDemand&amp;quot; - Elevato&amp;#39;s integration platform.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&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://dotnet.org.za/riaan/archive/2009/06/20/1084981.aspx&amp;amp;;subject=Modern+Software" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/20/1084981.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/riaan/archive/2009/06/20/1084981.aspx&amp;amp;;title=Modern+Software" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/20/1084981.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/riaan/archive/2009/06/20/1084981.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/20/1084981.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/riaan/archive/2009/06/20/1084981.aspx&amp;amp;title=Modern+Software" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/20/1084981.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/riaan/archive/2009/06/20/1084981.aspx&amp;amp;;title=Modern+Software" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/20/1084981.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/riaan/archive/2009/06/20/1084981.aspx&amp;amp;;title=Modern+Software&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/riaan/archive/2009/06/20/1084981.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1084981" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/riaan/archive/tags/Biztalk+Server/default.aspx">Biztalk Server</category><category domain="http://dotnet.org.za/riaan/archive/tags/Development/default.aspx">Development</category><category domain="http://dotnet.org.za/riaan/archive/tags/Elevato/default.aspx">Elevato</category><category domain="http://dotnet.org.za/riaan/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://dotnet.org.za/riaan/archive/tags/Integration/default.aspx">Integration</category><category domain="http://dotnet.org.za/riaan/archive/tags/Internet/default.aspx">Internet</category><category domain="http://dotnet.org.za/riaan/archive/tags/Magazine/default.aspx">Magazine</category><category domain="http://dotnet.org.za/riaan/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://dotnet.org.za/riaan/archive/tags/OnDemand/default.aspx">OnDemand</category><category domain="http://dotnet.org.za/riaan/archive/tags/riaan/default.aspx">riaan</category><category domain="http://dotnet.org.za/riaan/archive/tags/riaan+snyders/default.aspx">riaan snyders</category><category domain="http://dotnet.org.za/riaan/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://dotnet.org.za/riaan/archive/tags/snyders/default.aspx">snyders</category><category domain="http://dotnet.org.za/riaan/archive/tags/startups/default.aspx">startups</category><category domain="http://dotnet.org.za/riaan/archive/tags/Time/default.aspx">Time</category><category domain="http://dotnet.org.za/riaan/archive/tags/Time+Magazine/default.aspx">Time Magazine</category><category domain="http://dotnet.org.za/riaan/archive/tags/Twitter/default.aspx">Twitter</category><category domain="http://dotnet.org.za/riaan/archive/tags/Web+2.0/default.aspx">Web 2.0</category></item><item><title>SharePoint Podcast - Record Management with Zlatan Dzinic</title><link>http://dotnet.org.za/zlatan/archive/2009/06/19/sharepoint-podcast-record-management-with-zlatan-dzinic.aspx</link><pubDate>Fri, 19 Jun 2009 15:44:00 GMT</pubDate><guid isPermaLink="false">2d3a9e08-b70c-4031-ba2b-8f5282a2a59a:1083313</guid><dc:creator>Zlatan</dc:creator><slash:comments>3</slash:comments><description>I’m being interviewed here by none other but our very own C#.NET MVP Hilton Giesenow (&lt;a href="http://hilton.giesenow.com/"&gt;http://hilton.giesenow.com&lt;/a&gt;) on Records Management solutions in SharePoint.&lt;br /&gt;&lt;br /&gt;The podcast is almost an hours long and was recorded over a coffee on a Saturday afternoon (I think it was a Saturday, not sure). I was not prepared for this interview, to say the least, so please excuse the repetition + other small imperfections.&lt;br /&gt;&lt;br /&gt;Enjoy the talk and please send me your comments and feedback.&lt;br /&gt;&lt;br /&gt;Here’s the link: &lt;a href="http://www.themossshow.com/?p=105"&gt;http://www.themossshow.com/?p=105&lt;/a&gt; &lt;br /&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://dotnet.org.za/zlatan/archive/2009/06/19/sharepoint-podcast-record-management-with-zlatan-dzinic.aspx&amp;amp;;subject=SharePoint+Podcast+-+Record+Management+with+Zlatan+Dzinic" target="_blank" title = "Post http://dotnet.org.za/zlatan/archive/2009/06/19/sharepoint-podcast-record-management-with-zlatan-dzinic.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://dotnet.org.za/zlatan/archive/2009/06/19/sharepoint-podcast-record-management-with-zlatan-dzinic.aspx&amp;amp;;title=SharePoint+Podcast+-+Record+Management+with+Zlatan+Dzinic" target="_blank" title = "Post http://dotnet.org.za/zlatan/archive/2009/06/19/sharepoint-podcast-record-management-with-zlatan-dzinic.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://dotnet.org.za/zlatan/archive/2009/06/19/sharepoint-podcast-record-management-with-zlatan-dzinic.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/zlatan/archive/2009/06/19/sharepoint-podcast-record-management-with-zlatan-dzinic.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://dotnet.org.za/zlatan/archive/2009/06/19/sharepoint-podcast-record-management-with-zlatan-dzinic.aspx&amp;amp;title=SharePoint+Podcast+-+Record+Management+with+Zlatan+Dzinic" target="_blank" title = "Post http://dotnet.org.za/zlatan/archive/2009/06/19/sharepoint-podcast-record-management-with-zlatan-dzinic.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/zlatan/archive/2009/06/19/sharepoint-podcast-record-management-with-zlatan-dzinic.aspx&amp;amp;;title=SharePoint+Podcast+-+Record+Management+with+Zlatan+Dzinic" target="_blank" title = "Post http://dotnet.org.za/zlatan/archive/2009/06/19/sharepoint-podcast-record-management-with-zlatan-dzinic.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://dotnet.org.za/zlatan/archive/2009/06/19/sharepoint-podcast-record-management-with-zlatan-dzinic.aspx&amp;amp;;title=SharePoint+Podcast+-+Record+Management+with+Zlatan+Dzinic&amp;amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/zlatan/archive/2009/06/19/sharepoint-podcast-record-management-with-zlatan-dzinic.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet.org.za/aggbug.aspx?PostID=1083313" width="1" height="1"&gt;</description><category domain="http://dotnet.org.za/zlatan/archive/tags/Enterprise+Content+Management/default.aspx">Enterprise Content Management</category><category domain="http://dotnet.org.za/zlatan/archive/tags/Governance/default.aspx">Governance</category><category domain="http://dotnet.org.za/zlatan/archive/tags/Podcast/default.aspx">Podcast</category><category domain="http://dotnet.org.za/zlatan/archive/tags/Records+Management/default.aspx">Records Management</category><category domain="http://dotnet.org.za/zlatan/archive/tags/SharePoint+2007/default.aspx">SharePoint 2007</category></item></channel></rss>