<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Kariem Ali's Blog</title>
        <link>http://kariem.net/Default.aspx</link>
        <description>Musings on Programming, Ajax and the Web from Alexandria</description>
        <language>ar-EG</language>
        <copyright>kariemali</copyright>
        <managingEditor>kariem@kariem.net</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Kariem Ali's Blog</title>
            <url>http://kariem.net/images/RSS2Image.gif</url>
            <link>http://kariem.net/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Ra-Ajax 2.0.3 Released</title>
            <link>http://kariem.net/archive/2009/10/09/ra-ajax-2.0.3-released.aspx</link>
            <description>&lt;p&gt;The latest version of Ra-Ajax, 2.0.3, was released last night. This release has &lt;a href="http://code.google.com/p/ra-ajax/source/browse/trunk/changes.txt?r=1562" target="_blank"&gt;a couple of important bug fixes&lt;/a&gt; and a new Effect called EffectCssClass. This new effect was contributed by Karel Boek.&lt;/p&gt;  &lt;p&gt;EffectCssClass simply allows you to change the CSS class of a widget easily when doing chained and/or joined effects, like this:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="background: #181818; color: #8080c0"&gt;new &lt;/span&gt;&lt;span style="background: #181818; color: #c7c7f1"&gt;EffectFadeIn&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;(&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;panel1&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;, 500).&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;ChainThese&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;(
    &lt;/span&gt;&lt;span style="background: #181818; color: #8080c0"&gt;new &lt;/span&gt;&lt;span style="background: #181818; color: #c7c7f1"&gt;EffectHighlight&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;(&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;panel1&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;, 700),
    &lt;/span&gt;&lt;span style="background: #181818; color: #8080c0"&gt;new &lt;/span&gt;&lt;span style="background: #181818; color: #c7c7f1"&gt;EffectCssClass&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;(&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;panel1&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;, &lt;/span&gt;&lt;span style="background: #181818; color: #60ff60"&gt;"className"&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;),
    &lt;/span&gt;&lt;span style="background: #181818; color: #8080c0"&gt;new &lt;/span&gt;&lt;span style="background: #181818; color: #c7c7f1"&gt;EffectRollUp&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;(&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;panel1&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;, 1000))
    .&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;Render&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;();&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://ra-ajax.googlecode.com/files/Ra-2.0.3.zip" target="_blank"&gt;Ra-Ajax version 2.0.3&lt;/a&gt; can be downloaded from the &lt;a href="http://code.google.com/p/ra-ajax/" target="_blank"&gt;project’s page at Google Code&lt;/a&gt;. You can give us feedback and participate in discussions about Ra-Ajax at &lt;a href="http://stacked.ra-ajax.org"&gt;http://stacked.ra-ajax.org&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
&lt;span class="sbmLink"&gt;
  &lt;table cellspacing="1" cellpadding="1"&gt;&lt;tbody&gt;
      &lt;tr&gt;
        &lt;td class="sbmText"&gt;Share this post : &lt;/td&gt;

        &lt;td&gt;&lt;a title="Post it to del.icio.us" href="http://del.icio.us/post?url=http://kariem.net/archive/2009/10/09/ra-ajax-2.0.3-released.aspx&amp;amp;;title=Ra-Ajax 2.0.3 Released" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td&gt;&lt;a title="Post it to digg" href="http://digg.com/submit?phase=2&amp;amp;url=http://kariem.net/archive/2009/10/09/ra-ajax-2.0.3-released.aspx&amp;amp;title=Ra-Ajax 2.0.3 Released" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td&gt;&lt;a title="Post it to dotnetkicks" href="http://www.dotnetkicks.com/kick/?url=http://kariem.net/archive/2009/10/09/ra-ajax-2.0.3-released.aspx&amp;amp;title=Ra-Ajax 2.0.3 Released" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td&gt;&lt;a title="Post it to Facebook" href="http://www.facebook.com/sharer.php?u=http://kariem.net/archive/2009/10/09/ra-ajax-2.0.3-released.aspx&amp;amp;t=Ra-Ajax 2.0.3 Released" target="_blank"&gt;&lt;img border="0" src="http://blogs.technet.com/photos/james/images/1765319/original.aspx" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td&gt;&lt;a title="Post it to furl" href="http://www.furl.net/store?s=f&amp;amp;to=0&amp;amp;u=http://kariem.net/archive/2009/10/09/ra-ajax-2.0.3-released.aspx&amp;amp;ti=Ra-Ajax 2.0.3 Released" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/furl4.png" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td&gt;&lt;a title="Post it to reddit!" href="http://reddit.com/submit?url=http://kariem.net/archive/2009/10/09/ra-ajax-2.0.3-released.aspx&amp;amp;title=Ra-Ajax 2.0.3 Released" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td&gt;&lt;a title="Post it to technorati!" href="http://technorati.com/faves/?add=http://kariem.net/archive/2009/10/09/ra-ajax-2.0.3-released.aspx&amp;amp;title=Ra-Ajax 2.0.3 Released" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" /&gt;&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;&lt;/table&gt;

  &lt;p&gt;&lt;/p&gt;

  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2e9244e3-8b5f-4e84-ae0c-737950cdd97f" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Ajax" rel="tag"&gt;Ajax&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Ra-Ajax" rel="tag"&gt;Ra-Ajax&lt;/a&gt;&lt;/div&gt;
&lt;/span&gt; &lt;img src="http://kariem.net/aggbug/135379.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kariemali</dc:creator>
            <guid>http://kariem.net/archive/2009/10/09/ra-ajax-2.0.3-released.aspx</guid>
            <pubDate>Fri, 09 Oct 2009 14:27:43 GMT</pubDate>
            <wfw:comment>http://kariem.net/comments/135379.aspx</wfw:comment>
            <comments>http://kariem.net/archive/2009/10/09/ra-ajax-2.0.3-released.aspx#feedback</comments>
            <wfw:commentRss>http://kariem.net/comments/commentRss/135379.aspx</wfw:commentRss>
            <trackback:ping>http://kariem.net/services/trackbacks/135379.aspx</trackback:ping>
        </item>
        <item>
            <title>Bing VS. Google &amp;ndash; A Spark of Search Engine Wars?</title>
            <link>http://kariem.net/archive/2009/07/03/bing-vs.-google-ndash-a-spark-of-search-engine-wars.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://bing.com" target="_blank"&gt;Bing&lt;/a&gt; is a new search engine from Microsoft that has been released exactly one month ago. During this month it has created a lot of &lt;a href="http://www.pcworld.com/printable/article/id,165651/printable.html" target="_blank"&gt;buzz&lt;/a&gt;. Bing is advertised by Microsoft to be a “&lt;a href="http://www.decisionengine.com" target="_blank"&gt;Decision Engine&lt;/a&gt;” and it seems like there is a general feel, or at least enquiry, about bing constituting serious competition to Google search. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/BingVS.GoogleASparkofSearchEngineWars_E992/Bing1_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Bing1" border="0" alt="Bing1" src="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/BingVS.GoogleASparkofSearchEngineWars_E992/Bing1_thumb.png" width="640" height="392" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;After reading Scott Hanselman’s recent blog post &lt;a href="http://www.hanselman.com/blog/MyLenovoChoiceThinkPadW700VsThinkPadW500Review.aspx" target="_blank"&gt;comparing Lenovo’s ThinkPad W700 with the W500&lt;/a&gt;, I decided to give bing a little try.&lt;/p&gt;  &lt;h2&gt;Google VS. Bing&lt;/h2&gt;  &lt;p&gt;I decided to use &lt;a href="http://google-vs-bing.com" target="_blank"&gt;google-vs-bing.com&lt;/a&gt; to compare the results. This website gives you the search results from Google search and bing side by side in two frames. I searched for “&lt;a href="http://google-vs-bing.com/?q=lenovo+w500" target="_blank"&gt;Lenovo w500&lt;/a&gt;” and I was impressed by the level of interactivity and instant access to the information, I really wanted, about the product from bing. Conveniently, links to other relevant searches like Specs, Manual, Battery and Reviews appeared to the left of the search results.&lt;/p&gt;  &lt;p&gt;Clicking on the first, non-sponsored, search result I was taken to a nice layout of available prices from different stores, with information on free shipping and available &lt;a href="http://www.bing.com/cashback" target="_blank"&gt;cashback&lt;/a&gt; options:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/BingVS.GoogleASparkofSearchEngineWars_E992/Bing2_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Bing2" border="0" alt="Bing2" src="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/BingVS.GoogleASparkofSearchEngineWars_E992/Bing2_thumb_1.png" width="640" height="453" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Note also that product details, along with expert reviews and user reviews when available, are one click away from here. This level of instant availability of relevant information makes Google search results look outdated.&lt;/p&gt;  &lt;p&gt;However there are two things that I liked more in Google’s search results. The first  search result was the ThinkPad W-Series page in Lenovo’s website and the nested result underneath that was the ThinkPad W500 page. The second is that Google search results included videos of product reviews from YouTube. Something that bing didn’t do.&lt;/p&gt;  &lt;p&gt;Doing some searches using both Bing and Google, I found that on certain searches Google produces better results but the overall user experience is certainly better in bing, specially for searches that involve making a decision like reviewing products.&lt;/p&gt;  &lt;h2&gt;Imitation VS. Innovation&lt;/h2&gt;  &lt;p&gt;For many years Microsoft has been trying to have a significant place in the search engine market without much success. I have &lt;u&gt;never&lt;/u&gt; considered having MSN search or Live.com as my default search engine in Firefox. In many ways they were inferior to Google search. But now I have bing as the default search engine in Firefox and I will keep it like that for a while to test it thoroughly.&lt;/p&gt;  &lt;p&gt;I think there is an important lesson here. Search engine users, including me, have for many years appreciated the clean and straightforward presentation of search results that Google pioneered. However, thinking that imitating this can be enough to compete with Google search is a huge mistake and we saw it fail time and time again. Building on the lessons learned from the success of a certain product is good but it is not enough, you must take it beyond that with your own innovation. I think Microsoft succeeded in doing that with bing.&lt;/p&gt;  &lt;h2&gt;The Power of a Brand&lt;/h2&gt;  &lt;p&gt;The success of Google certainly goes beyond establishing a successful brand name. However, a clever brand name helps a lot in constituting identity, attracting users and &lt;a href="http://www.merriam-webster.com/dictionary/google" target="_blank"&gt;making the product part of our daily lives&lt;/a&gt;. I think Microsoft’s choice of the brand name “bing” is very clever, short and catchy. I can imagine people starting to use the name as a verb, which couldn’t have happened with “Live.com”.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h2&gt;My Conclusion&lt;/h2&gt;  &lt;p&gt;I think that an innovative way of presenting search results beyond arranging links based on popularity and relevance is long overdue. During the past years we didn’t see much innovation in that area  because it was dominated by Google. I am very thrilled to finally see some competition, because nothing can drive innovation like competition.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;span class="sbmLink"&gt;   &lt;table cellspacing="1" cellpadding="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td class="sbmText"&gt;Share this post : &lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to del.icio.us" href="http://del.icio.us/post?url=http://kariem.net/archive/2009/07/03/bing-vs.-google-ndash-a-spark-of-search-engine-wars.aspx&amp;amp;;title=Bing VS. Google – A Spark of Search Engine Wars?" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to digg" href="http://digg.com/submit?phase=2&amp;amp;url=http://kariem.net/archive/2009/07/03/bing-vs.-google-ndash-a-spark-of-search-engine-wars.aspx&amp;amp;title=Bing VS. Google – A Spark of Search Engine Wars?" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to dotnetkicks" href="http://www.dotnetkicks.com/kick/?url=http://kariem.net/archive/2009/07/03/bing-vs.-google-ndash-a-spark-of-search-engine-wars.aspx&amp;amp;title=Bing VS. Google – A Spark of Search Engine Wars?" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to Facebook" href="http://www.facebook.com/sharer.php?u=http://kariem.net/archive/2009/07/03/bing-vs.-google-ndash-a-spark-of-search-engine-wars.aspx&amp;amp;t=Bing VS. Google – A Spark of Search Engine Wars?" target="_blank"&gt;&lt;img border="0" src="http://blogs.technet.com/photos/james/images/1765319/original.aspx" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to furl" href="http://www.furl.net/store?s=f&amp;amp;to=0&amp;amp;u=http://kariem.net/archive/2009/07/03/bing-vs.-google-ndash-a-spark-of-search-engine-wars.aspx&amp;amp;ti=Bing VS. Google – A Spark of Search Engine Wars?" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/furl4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to reddit!" href="http://reddit.com/submit?url=http://kariem.net/archive/2009/07/03/bing-vs.-google-ndash-a-spark-of-search-engine-wars.aspx&amp;amp;title=Bing VS. Google – A Spark of Search Engine Wars?" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to technorati!" href="http://technorati.com/faves/?add=http://kariem.net/archive/2009/07/03/bing-vs.-google-ndash-a-spark-of-search-engine-wars.aspx&amp;amp;title=Bing VS. Google – A Spark of Search Engine Wars?" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/span&gt;  &lt;p&gt;   &lt;/p&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c8d0e20d-a36a-4f8a-9217-fa6ebe31eb41" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/google" rel="tag"&gt;google&lt;/a&gt;,&lt;a href="http://technorati.com/tags/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/bing" rel="tag"&gt;bing&lt;/a&gt;&lt;/div&gt; &lt;img src="http://kariem.net/aggbug/133239.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kariemali</dc:creator>
            <guid>http://kariem.net/archive/2009/07/03/bing-vs.-google-ndash-a-spark-of-search-engine-wars.aspx</guid>
            <pubDate>Fri, 03 Jul 2009 21:37:29 GMT</pubDate>
            <wfw:comment>http://kariem.net/comments/133239.aspx</wfw:comment>
            <comments>http://kariem.net/archive/2009/07/03/bing-vs.-google-ndash-a-spark-of-search-engine-wars.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://kariem.net/comments/commentRss/133239.aspx</wfw:commentRss>
            <trackback:ping>http://kariem.net/services/trackbacks/133239.aspx</trackback:ping>
        </item>
        <item>
            <title>Doxygen.NET - .NET Wrapper for Doxygen Docs</title>
            <link>http://kariem.net/archive/2009/06/17/doxygen.net---.net-wrapper-for-doxygen-docs.aspx</link>
            <description>&lt;p&gt;It has been exciting lately to work on a new project. &lt;a href="http://code.google.com/p/doxygen-net/" target="_blank"&gt;Doxygen.NET&lt;/a&gt; is a wrapper for &lt;a href="http://www.stack.nl/~dimitri/doxygen/index.html" target="_blank"&gt;Doxygen&lt;/a&gt;’s documentation XML files. It allows you to access your documentation in a nice and flexible way. Imagine being able to access your documentation like this:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="background: #181818; color: #c7c7f1"&gt;Docs &lt;span style="background: #181818; color: #fef1a9"&gt;docs &lt;span style="background: #181818; color: #fef1a9"&gt;&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;= &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background: #181818; color: #8080c0"&gt;new &lt;/span&gt;&lt;span style="background: #181818; color: #c7c7f1"&gt;Docs&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;(&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;Server&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;.&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;MapPath&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;(&lt;/span&gt;&lt;span style="background: #181818; color: #60ff60"&gt;"~/docs-xml"&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;));&lt;br /&gt;&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;&lt;span style="background: #181818; color: #8080c0"&gt;foreach &lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;(&lt;/span&gt;&lt;span style="background: #181818; color: #c7c7f1"&gt;Class &lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;c &lt;/span&gt;&lt;span style="background: #181818; color: #8080c0"&gt;in &lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;docs&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;.&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;GetNamespaceByName&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;(&lt;/span&gt;&lt;span style="background: #181818; color: #60ff60"&gt;"Ra.Behaviors"&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;).&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;Classes&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;)&lt;/span&gt;
{
    &lt;/span&gt;&lt;span style="background: #181818; color: #c7c7f1"&gt;Label &lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;nameLabel &lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;= &lt;/span&gt;&lt;span style="background: #181818; color: #8080c0"&gt;new &lt;/span&gt;&lt;span style="background: #181818; color: #c7c7f1"&gt;Label&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;();&lt;br /&gt;&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;&lt;span style="background: #181818; color: #c7c7f1"&gt;    Label &lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;descriptionLabel &lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;= &lt;/span&gt;&lt;span style="background: #181818; color: #8080c0"&gt;new &lt;/span&gt;&lt;span style="background: #181818; color: #c7c7f1"&gt;Label&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;();&lt;/span&gt;
    &lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;nameLabel&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;.&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;Text &lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;= &lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;c&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;.&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;Name&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;;&lt;br /&gt;    &lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;descriptionLabel&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;.&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;Text &lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;= &lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;c&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;.&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;Description&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;;
&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;    docsPanel&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;.&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;Controls&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;.&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;Add&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;(&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;nameLabel&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;);
    &lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;docsPanel&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;.&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;Controls&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;.&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;Add&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;(&lt;span style="background: #181818; color: #fef1a9"&gt;descriptionLabel&lt;/span&gt;&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;);&lt;br /&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;    DisplayMembers&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;(&lt;/span&gt;&lt;span style="background: #181818; color: #fef1a9"&gt;c.Members&lt;/span&gt;&lt;span style="background: #181818; color: #e0e0e0"&gt;);&lt;/span&gt;
}&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Isn’t this cool? We certainly think it is. &lt;/p&gt;

&lt;p&gt;Doxygen is a very popular documentation system that supports many programming languages and output formats, and it is the documentation system we are using in &lt;a href="http://ra-ajax.org" target="_blank"&gt;Ra-Ajax&lt;/a&gt;. Doxygen has been around since 1997 and it is used in many &lt;a href="http://www.stack.nl/~dimitri/doxygen/projects.html" target="_blank"&gt;notable projects&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;We use Doxygen.NET in our &lt;a href="http://ra-ajax.org/Docs.aspx?class=Ra.Widgets.Button" target="_blank"&gt;documentation page for Ra-Ajax&lt;/a&gt;, it has helped us a lot to display the Ra-Ajax documentation in a custom and powerful way. Something like this would have been hard without Doxygen.NET.&lt;/p&gt;

&lt;p&gt;We just released the first public version of Doxygen.NET and we decided to license it under an open source license. We chose &lt;a href="http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License" target="_blank"&gt;LGPL&lt;/a&gt; version three to give users a great degree of freedom in using and modifying Doxygen.NET, if they wish to do so.&lt;/p&gt;
&lt;span class="sbmLink"&gt;
  &lt;table cellspacing="1" cellpadding="1"&gt;&lt;tbody&gt;
      &lt;tr&gt;
        &lt;td class="sbmText"&gt;Share this post : &lt;/td&gt;

        &lt;td&gt;&lt;a title="Post it to del.icio.us" href="http://del.icio.us/post?url=http://kariem.net/archive/2009/06/17/doxygen.net---.net-wrapper-for-doxygen-docs.aspx&amp;amp;;title=Doxygen.NET - .NET Wrapper for Doxygen Docs" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td&gt;&lt;a title="Post it to digg" href="http://digg.com/submit?phase=2&amp;amp;url=http://kariem.net/archive/2009/06/17/doxygen.net---.net-wrapper-for-doxygen-docs.aspx&amp;amp;title=Doxygen.NET - .NET Wrapper for Doxygen Docs" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td&gt;&lt;a title="Post it to dotnetkicks" href="http://www.dotnetkicks.com/kick/?url=http://kariem.net/archive/2009/06/17/doxygen.net---.net-wrapper-for-doxygen-docs.aspx&amp;amp;title=Doxygen.NET - .NET Wrapper for Doxygen Docs" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td&gt;&lt;a title="Post it to Facebook" href="http://www.facebook.com/sharer.php?u=http://kariem.net/archive/2009/06/17/doxygen.net---.net-wrapper-for-doxygen-docs.aspx&amp;amp;t=Doxygen.NET - .NET Wrapper for Doxygen Docs" target="_blank"&gt;&lt;img border="0" src="http://blogs.technet.com/photos/james/images/1765319/original.aspx" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td&gt;&lt;a title="Post it to furl" href="http://www.furl.net/store?s=f&amp;amp;to=0&amp;amp;u=http://kariem.net/archive/2009/06/17/doxygen.net---.net-wrapper-for-doxygen-docs.aspx&amp;amp;ti=Doxygen.NET - .NET Wrapper for Doxygen Docs" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/furl4.png" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td&gt;&lt;a title="Post it to reddit!" href="http://reddit.com/submit?url=http://kariem.net/archive/2009/06/17/doxygen.net---.net-wrapper-for-doxygen-docs.aspx&amp;amp;title=Doxygen.NET - .NET Wrapper for Doxygen Docs" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td&gt;&lt;a title="Post it to technorati!" href="http://technorati.com/faves/?add=http://kariem.net/archive/2009/06/17/doxygen.net---.net-wrapper-for-doxygen-docs.aspx&amp;amp;title=Doxygen.NET - .NET Wrapper for Doxygen Docs" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" /&gt;&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;&lt;/table&gt;

  &lt;p&gt;&lt;/p&gt;

  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f023ad6a-e751-4f2a-9695-a48f51fa6ec1" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/programming" rel="tag"&gt;programming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/documentation" rel="tag"&gt;documentation&lt;/a&gt;&lt;/div&gt;
&lt;/span&gt; &lt;img src="http://kariem.net/aggbug/132886.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kariemali</dc:creator>
            <guid>http://kariem.net/archive/2009/06/17/doxygen.net---.net-wrapper-for-doxygen-docs.aspx</guid>
            <pubDate>Wed, 17 Jun 2009 19:05:09 GMT</pubDate>
            <wfw:comment>http://kariem.net/comments/132886.aspx</wfw:comment>
            <comments>http://kariem.net/archive/2009/06/17/doxygen.net---.net-wrapper-for-doxygen-docs.aspx#feedback</comments>
            <wfw:commentRss>http://kariem.net/comments/commentRss/132886.aspx</wfw:commentRss>
            <trackback:ping>http://kariem.net/services/trackbacks/132886.aspx</trackback:ping>
        </item>
        <item>
            <title>I am Happy</title>
            <link>http://kariem.net/archive/2009/06/12/i-am-happy.aspx</link>
            <description>&lt;p&gt;And why shouldn’t I? I still wakeup in the morning and be able to open my eyes and see the beauty in this world. I am still able to breath fresh air and walk on my two legs by the sea. I am still able to think and use my mind. I am still able to work and earn my living. I still have my beautiful family and their love. How many people in this world can say the same?&lt;/p&gt;  &lt;p&gt;Do yourself a favor and never define your happiness by what you don’t have. For If you keep searching for happiness in what you want to have, buy or own; you will keep searching until you reach your death. Don’t envy others, as it will only destroy you. Look around you and if you find somebody who is less fortunate, be grateful for what you have. Realize that true happiness can only be found in satisfaction and thankfulness. &lt;/p&gt;  &lt;p&gt;If you want to taste true happiness, make it your goal in life to make others happy and do good for them. Nothing in this world can give you happiness and inner-peace like seeing them in the eyes of a fellow man that you just made happy.&lt;/p&gt;  &lt;p&gt;Thank you God, I am the richest man in the world.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:903d091a-7222-429c-8485-6a804e8085fa" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/life" rel="tag"&gt;life&lt;/a&gt;&lt;/div&gt; &lt;img src="http://kariem.net/aggbug/132781.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kariemali</dc:creator>
            <guid>http://kariem.net/archive/2009/06/12/i-am-happy.aspx</guid>
            <pubDate>Sat, 13 Jun 2009 00:31:23 GMT</pubDate>
            <wfw:comment>http://kariem.net/comments/132781.aspx</wfw:comment>
            <comments>http://kariem.net/archive/2009/06/12/i-am-happy.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://kariem.net/comments/commentRss/132781.aspx</wfw:commentRss>
            <trackback:ping>http://kariem.net/services/trackbacks/132781.aspx</trackback:ping>
        </item>
        <item>
            <title>LiveMeeting Session with ScottGu &amp;ndash; Highlights on Silverlight 3, ASP.NET MVC 2.0, Visual Studio 2010 and More</title>
            <link>http://kariem.net/archive/2009/06/05/livemeeting-session-with-scottgu-ndash-highlights-on-silverlight-3-asp.net.aspx</link>
            <description>&lt;p&gt; &lt;/p&gt;  &lt;p&gt;The LiveMeeting Q&amp;amp;A session with &lt;a href="http://weblogs.asp.net/scottgu/" target="_blank"&gt;ScottGu&lt;/a&gt; was, as usual, very exciting. &lt;a href="http://kariem.net/archive/2009/06/03/private-livemeeting-session-with-scott-guthrie.aspx" target="_blank"&gt;As promised&lt;/a&gt;, here are some of the highlights from his answers.&lt;/p&gt;  &lt;h2&gt;Microsoft’s Development Process&lt;/h2&gt;  &lt;p&gt;In terms of the development process at Microsoft, Scott said that more projects will be developed with openness, transparency, more frequent releases, relying on customers’ feedback and with OSI open source licenses as in the case of ASP.NET MVC.&lt;/p&gt;  &lt;h2&gt;Silverlight&lt;/h2&gt;  &lt;p&gt;In regards to Silverlight 3 release date, it might be around the July 10th. time frame. Scott said that they are not sure yet about the final exact date of the release as they are still working on it. Silverlight 3 will have another option for an HTTP stack, alternative to the browser’s HTTP stack, to work around some difficulties like the ability to use HTTP verbs other than POST and GET and cross-domain networking. Printing support will not be available in version 3 but rather on the next version.&lt;/p&gt;  &lt;p&gt;In regards to Silverlight for mobile, supported for Windows Mobile and Symbian OS, Microsoft is currently working with carriers and handset manufacturers to get Silverlight pre-installed and integrated with the mobile OS.&lt;/p&gt;  &lt;h2&gt;ASP.NET Ajax 4&lt;/h2&gt;  &lt;p&gt;Currently &lt;a href="http://aspnet.codeplex.com/Wiki/View.aspx?title=AJAX" target="_blank"&gt;available in preview 4&lt;/a&gt;, has a nice feature called Client Templates to support data binding on the client. This is done by creating HTML markup templates and having HTML-compliant markers within those templates and then binding JSON-based objects to them with one-way and two-way data binding. The cool thing is that this is designed to work with the ASP.NET Ajax client library as well as other libraries like &lt;a href="http://jquery.com/" target="_blank"&gt;jQuery&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;ASP.NET MVC 2.0&lt;/h2&gt;  &lt;p&gt;The preview release will probably be available within the next month or two. It will possibly be shipped as part of Visual Studio 2010. Here are some of the features expected:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Strongly typed helpers for UI and URLs. &lt;/li&gt;    &lt;li&gt;Support to segment ASP.NET MVC apps across multiple projects with built-in support for grouping Controllers and Views together in a nice organizational way. &lt;/li&gt;    &lt;li&gt;It Will be supported on both .NET 4.0/VS 2010 and also .NET 3.5/VS 2008 so you don’t need to wait for VS 2010 and .NET 4.0 to use it. &lt;/li&gt;    &lt;li&gt;In terms of tooling support for ASP.NET MVC 2.0 in Visual Studio 2010:      &lt;ul&gt;       &lt;li&gt;Much better code-editing support. &lt;/li&gt;        &lt;li&gt;The ability to write your unit tests and then create your controller classes, methods and implementation based on your tests’ contracts and signatures. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Visual Studio 2010&lt;/h2&gt;  &lt;p&gt;Visual Studio 2010 will have fully interactive WYSIWEG designers for WPF and Silverlight. It will have much richer extensibility for the editor and shell to enable more robust 3rd. party Visual Studio plug-ins. It will also have native support for Sharepoint projects with intellisense, debugging and deployment etc…&lt;/p&gt;  &lt;p&gt;Support for multiple versions of the IDE in the same project is something that is particularly important to large teams; because usually everyone on the team can’t upgrade to the latest version of VS at the same time. Scott said that they tried hard to have that feature in VS 2010 but it was not possible. Scott also said that there are some technical reasons why this is harder than it might look and that this feature is on the agenda for Visual Studio 11.  &lt;/p&gt; &lt;span class="sbmLink"&gt;   &lt;table cellspacing="1" cellpadding="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td class="sbmText"&gt;Share this post : &lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to del.icio.us" href="http://del.icio.us/post?url=http://kariem.net/archive/2009/06/05/livemeeting-session-with-scottgu-ndash-highlights-on-silverlight-3-asp.net.aspx&amp;amp;;title=Highlights on Silverlight 3, ASP.NET MVC 2.0, Visual Studio 2010 and More" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to digg" href="http://digg.com/submit?phase=2&amp;amp;url=http://kariem.net/archive/2009/06/05/livemeeting-session-with-scottgu-ndash-highlights-on-silverlight-3-asp.net.aspx&amp;amp;title=Highlights on Silverlight 3, ASP.NET MVC 2.0, Visual Studio 2010 and More" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to dotnetkicks" href="http://www.dotnetkicks.com/kick/?url=http://kariem.net/archive/2009/06/05/livemeeting-session-with-scottgu-ndash-highlights-on-silverlight-3-asp.net.aspx&amp;amp;title=Highlights on Silverlight 3, ASP.NET MVC 2.0, Visual Studio 2010 and More" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to Facebook" href="http://www.facebook.com/sharer.php?u=http://kariem.net/archive/2009/06/05/livemeeting-session-with-scottgu-ndash-highlights-on-silverlight-3-asp.net.aspx&amp;amp;t=Highlights on Silverlight 3, ASP.NET MVC 2.0, Visual Studio 2010 and More" target="_blank"&gt;&lt;img border="0" src="http://blogs.technet.com/photos/james/images/1765319/original.aspx" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to furl" href="http://www.furl.net/store?s=f&amp;amp;to=0&amp;amp;u=http://kariem.net/archive/2009/06/05/livemeeting-session-with-scottgu-ndash-highlights-on-silverlight-3-asp.net.aspx&amp;amp;ti=Highlights on Silverlight 3, ASP.NET MVC 2.0, Visual Studio 2010 and More" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/furl4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to reddit!" href="http://reddit.com/submit?url=http://kariem.net/archive/2009/06/05/livemeeting-session-with-scottgu-ndash-highlights-on-silverlight-3-asp.net.aspx&amp;amp;title=Highlights on Silverlight 3, ASP.NET MVC 2.0, Visual Studio 2010 and More" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to technorati!" href="http://technorati.com/faves/?add=http://kariem.net/archive/2009/06/05/livemeeting-session-with-scottgu-ndash-highlights-on-silverlight-3-asp.net.aspx&amp;amp;title=Highlights on Silverlight 3, ASP.NET MVC 2.0, Visual Studio 2010 and More" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;p&gt;&lt;/p&gt;    &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:760dcfa2-07f2-434a-982d-062700beecc4" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/technology" rel="tag"&gt;technology&lt;/a&gt;,&lt;a href="http://technorati.com/tags/software" rel="tag"&gt;software&lt;/a&gt;,&lt;a href="http://technorati.com/tags/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;&lt;/div&gt; &lt;/span&gt; &lt;img src="http://kariem.net/aggbug/132656.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kariemali</dc:creator>
            <guid>http://kariem.net/archive/2009/06/05/livemeeting-session-with-scottgu-ndash-highlights-on-silverlight-3-asp.net.aspx</guid>
            <pubDate>Sat, 06 Jun 2009 05:56:03 GMT</pubDate>
            <wfw:comment>http://kariem.net/comments/132656.aspx</wfw:comment>
            <comments>http://kariem.net/archive/2009/06/05/livemeeting-session-with-scottgu-ndash-highlights-on-silverlight-3-asp.net.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://kariem.net/comments/commentRss/132656.aspx</wfw:commentRss>
            <trackback:ping>http://kariem.net/services/trackbacks/132656.aspx</trackback:ping>
        </item>
        <item>
            <title>Private LiveMeeting Session with Scott Guthrie</title>
            <link>http://kariem.net/archive/2009/06/03/private-livemeeting-session-with-scott-guthrie.aspx</link>
            <description>&lt;p&gt;I will be attending a private LiveMeeting session tomorrow with &lt;a href="http://weblogs.asp.net/scottgu/" target="_blank"&gt;Scott Guthrie&lt;/a&gt;, Corporate VP at Microsoft. Scott will probably discuss the new features in ASP.NET 4.0 and the future of ASP.NET Ajax. I am really excited and looking forward to this. ScottGu’s talks are always intriguing and interesting.&lt;/p&gt;  &lt;p&gt;I will try to blog about this session and what Scott discussed during the next few days. Meanwhile, do you have any interesting questions you want to ask him? No promises, but I will try my best to get these questions through to him, if I get any.&lt;/p&gt;  &lt;p&gt;Thanks are in order to &lt;a href="http://blogs.msdn.com/grothaug/" target="_blank"&gt;Rune Grothaug&lt;/a&gt;, Community Manager at Microsoft Norway and to my friend and colleague &lt;a href="http://ra-ajax.org/thomas.blogger" target="_blank"&gt;Thomas Hansen&lt;/a&gt;, owner/CEO at Ra-Software AS for helping out with this.&lt;/p&gt; &lt;span class="sbmLink"&gt;   &lt;table cellspacing="1" cellpadding="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td class="sbmText"&gt;Share this post : &lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to del.icio.us" href="http://del.icio.us/post?url=http://kariem.net/archive/2009/06/03/private-livemeeting-session-with-scott-guthrie.aspx&amp;amp;;title=Private LiveMeeting Session with Scott Guthrie" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to digg" href="http://digg.com/submit?phase=2&amp;amp;url=http://kariem.net/archive/2009/06/03/private-livemeeting-session-with-scott-guthrie.aspx&amp;amp;title=Private LiveMeeting Session with Scott Guthrie" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to dotnetkicks" href="http://www.dotnetkicks.com/kick/?url=http://kariem.net/archive/2009/06/03/private-livemeeting-session-with-scott-guthrie.aspx&amp;amp;title=Private LiveMeeting Session with Scott Guthrie" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to Facebook" href="http://www.facebook.com/sharer.php?u=http://kariem.net/archive/2009/06/03/private-livemeeting-session-with-scott-guthrie.aspx&amp;amp;t=Private LiveMeeting Session with Scott Guthrie" target="_blank"&gt;&lt;img border="0" src="http://blogs.technet.com/photos/james/images/1765319/original.aspx" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to furl" href="http://www.furl.net/store?s=f&amp;amp;to=0&amp;amp;u=http://kariem.net/archive/2009/06/03/private-livemeeting-session-with-scott-guthrie.aspx&amp;amp;ti=Private LiveMeeting Session with Scott Guthrie" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/furl4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to reddit!" href="http://reddit.com/submit?url=http://kariem.net/archive/2009/06/03/private-livemeeting-session-with-scott-guthrie.aspx&amp;amp;title=Private LiveMeeting Session with Scott Guthrie" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to technorati!" href="http://technorati.com/faves/?add=http://kariem.net/archive/2009/06/03/private-livemeeting-session-with-scott-guthrie.aspx&amp;amp;title=Private LiveMeeting Session with Scott Guthrie" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/span&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3b705d4e-2f97-4415-aa03-97d978d434bf" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/technology" rel="tag"&gt;technology&lt;/a&gt;,&lt;a href="http://technorati.com/tags/software" rel="tag"&gt;software&lt;/a&gt;,&lt;a href="http://technorati.com/tags/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;&lt;/div&gt; &lt;img src="http://kariem.net/aggbug/132596.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kariemali</dc:creator>
            <guid>http://kariem.net/archive/2009/06/03/private-livemeeting-session-with-scott-guthrie.aspx</guid>
            <pubDate>Thu, 04 Jun 2009 11:34:30 GMT</pubDate>
            <wfw:comment>http://kariem.net/comments/132596.aspx</wfw:comment>
            <comments>http://kariem.net/archive/2009/06/03/private-livemeeting-session-with-scott-guthrie.aspx#feedback</comments>
            <wfw:commentRss>http://kariem.net/comments/commentRss/132596.aspx</wfw:commentRss>
            <trackback:ping>http://kariem.net/services/trackbacks/132596.aspx</trackback:ping>
        </item>
        <item>
            <title>Ra-Ajax Version 2.0.0 Released Today</title>
            <link>http://kariem.net/archive/2009/06/03/ra-ajax-version-2.0.0-released-today.aspx</link>
            <description>&lt;p&gt;We have been working hard on version 2.0.0 of &lt;a href="http://ra-ajax.org" target="_blank"&gt;Ra-Ajax&lt;/a&gt; and it is now &lt;a href="http://code.google.com/p/ra-ajax/downloads/list" target="_blank"&gt;publicly available for download&lt;/a&gt;. This release marks very exciting events and changes. Probably not the least of which is the switch of license from &lt;a href="http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License" target="_blank"&gt;LGPL&lt;/a&gt; to &lt;a href="http://en.wikipedia.org/wiki/Gpl" target="_blank"&gt;GPL&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;We have completely &lt;a href="http://ra-ajax.org" target="_blank"&gt;revamped the website design&lt;/a&gt;, to make it easy for visitors to find just what they need. We have a new infrastructure that will allow our existing users to get the most out of Ra-Ajax and new users to get up to speed quickly. Many changes and bug fixes were made since the last version to make Ra-Ajax even more reliable and rock-solid.&lt;/p&gt;  &lt;h2&gt;New Website and Infrastructure&lt;/h2&gt;  &lt;p&gt;The new website design is much cleaner and less noisy. Users can find information relevant to what they want quickly and without much hassle.&lt;/p&gt;  &lt;p&gt;A core focal point for us with this new infrastructure was &lt;a href="http://ra-ajax.org/Support.aspx" target="_blank"&gt;help and support&lt;/a&gt;. We wanted to make it as effortless and straightforward as we can for users to get help with Ra-Ajax.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;h3&gt;Documentation and Tutorials&lt;/h3&gt;  &lt;p&gt;Ra-Ajax users can now, using the &lt;a href="http://ra-ajax.org/Docs.aspx" target="_blank"&gt;Docs&lt;/a&gt; page,  browse the entire list of reference documentations and tutorials available or filter them to quickly get what they want.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/RaAjaxVersion2.0.0ReleasedToday_EF19/RaDocs1_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="RaDocs1" border="0" alt="RaDocs1" src="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/RaAjaxVersion2.0.0ReleasedToday_EF19/RaDocs1_thumb.png" width="684" height="156" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Upon clicking a specific tutorial or reference documentation, full details will be displayed:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/RaAjaxVersion2.0.0ReleasedToday_EF19/RaDocs2_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="RaDocs2" border="0" alt="RaDocs2" src="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/RaAjaxVersion2.0.0ReleasedToday_EF19/RaDocs2_thumb.png" width="705" height="324" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;A long with a fully functional and interactive sample, with source code:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/RaAjaxVersion2.0.0ReleasedToday_EF19/RaDocs3_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="RaDocs3" border="0" alt="RaDocs3" src="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/RaAjaxVersion2.0.0ReleasedToday_EF19/RaDocs3_thumb_1.png" width="659" height="367" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt; &lt;/h3&gt;  &lt;h3&gt;Q&amp;amp;A Support System&lt;/h3&gt;  &lt;p&gt;We have developed &lt;a href="http://stacked.ra-ajax.org/" target="_blank"&gt;an awesome support system&lt;/a&gt; based on questions and answers, analogous to &lt;a href="http://stackoverflow.com" target="_blank"&gt;stackoverflow.com&lt;/a&gt;. We believe such system is perfect for support,  you can ask/answer questions, add a question to your favorites, vote a question or an answer up/down, comment on answers, search questions and much more. &lt;/p&gt;  &lt;p&gt;Users’ activity on this system will not go unrewarded. When you ask, answer and comment on questions you will get credit points. These ‘creds’ will give you visibility and credibility among the Ra-Ajax community members.&lt;/p&gt;  &lt;p&gt;We believe that such Q&amp;amp;A system would be useful for others as well. So we decided to make it an open source project and &lt;a href="http://code.google.com/p/stacked/" target="_blank"&gt;released it at Google Code&lt;/a&gt; as GPL.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;h3&gt;Daily Build of Ra-Ajax&lt;/h3&gt;  &lt;p&gt;If you have asked for a feature or a bug fix, you don’t need to wait for the next release to get it. You can get it as soon as it is available in our source code repository. Our daily build system will create a release at 01:00 am daily (Norway Local Time) as long as it finds changes in the repository since the last daily build. The most recent five daily builds will always be available at &lt;a href="http://ra-ajax.org/daily" target="_blank"&gt;http://ra-ajax.org/daily&lt;/a&gt; and the file names will contain the revision numbers they correspond to.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;h3&gt;Ra-Software is a Software Factory&lt;/h3&gt;  &lt;p&gt;If you are still struggling with Ra-Ajax, or even with your own project, &lt;a href="http://ra-ajax.org/SoftwareFactory.aspx" target="_blank"&gt;we have options to provide further help&lt;/a&gt;. Ra-Software can provide extensive in-depth training for Ra-Ajax, ASP.NET and many other topics. We also offer consultancy services for Ra-Ajax where we provide hands-on help in your project development in general or relating to adopting Ra-Ajax in your existing projects.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;h3&gt;Changes and Bug Fixes&lt;/h3&gt;  &lt;p&gt;Version 2.0.0 of Ra-Ajax took a lot of time and attention from us. The changes are huge to be contained in one blog post. But here are some highlights:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;New Behaviors:      &lt;ul&gt;       &lt;li&gt;BehaviorUnveiler, you can see it in action in our website menu. This Behavior can fade a Control into specified maximum opacity on mouse over, and fade it out to specified minimum opacity on mouse out. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;New Widgets:      &lt;ul&gt;       &lt;li&gt;We removed WindowLight and added a new, minimalistic and a more generic widget called WebPart. &lt;/li&gt;        &lt;li&gt;Inspired by the iPhone/iPod UI, we created a SlidingMenu control. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;Dynamic JavaScript Inclusion, so no JavaScript file is loaded unless you absolutely need to use it. &lt;/li&gt;    &lt;li&gt;Nicer error and exception display. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can check out the &lt;a href="http://code.google.com/p/ra-ajax/source/browse/trunk/changes.txt" target="_blank"&gt;Ra-Ajax change log&lt;/a&gt; for full details.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;h3&gt;A Taste of What Can be Done with Ra-Ajax&lt;/h3&gt;  &lt;p&gt;Our friend Dave Lazarow, from South Africa, is an enthusiastic user of Ra-Ajax. He was building a portal for retail stores using ASP.NET Ajax and later switched to Ra-Ajax. Dave was so thrilled with the performance and productivity gains he acquired from using Ra-Ajax that he decided to create a video demoing his portal application:&lt;/p&gt;  &lt;p&gt;&lt;object width="600" height="474"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4241922&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=4241922&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="474"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt; &lt;/p&gt; &lt;span class="sbmLink"&gt;   &lt;table cellspacing="1" cellpadding="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td class="sbmText"&gt;Share this post : &lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to del.icio.us" href="http://del.icio.us/post?url=http://kariem.net/archive/2009/06/03/ra-ajax-version-2.0.0-released-today.aspx&amp;amp;;title=Ra-Ajax Version 2.0.0 Released Today" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to digg" href="http://digg.com/submit?phase=2&amp;amp;url=http://kariem.net/archive/2009/06/03/ra-ajax-version-2.0.0-released-today.aspx&amp;amp;title=Ra-Ajax Version 2.0.0 Released Today" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to dotnetkicks" href="http://www.dotnetkicks.com/kick/?url=http://kariem.net/archive/2009/06/03/ra-ajax-version-2.0.0-released-today.aspx&amp;amp;title=Ra-Ajax Version 2.0.0 Released Today" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to Facebook" href="http://www.facebook.com/sharer.php?u=http://kariem.net/archive/2009/06/03/ra-ajax-version-2.0.0-released-today.aspx&amp;amp;t=Ra-Ajax Version 2.0.0 Released Today" target="_blank"&gt;&lt;img border="0" src="http://blogs.technet.com/photos/james/images/1765319/original.aspx" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to furl" href="http://www.furl.net/store?s=f&amp;amp;to=0&amp;amp;u=http://kariem.net/archive/2009/06/03/ra-ajax-version-2.0.0-released-today.aspx&amp;amp;ti=Ra-Ajax Version 2.0.0 Released Today" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/furl4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to reddit!" href="http://reddit.com/submit?url=http://kariem.net/archive/2009/06/03/ra-ajax-version-2.0.0-released-today.aspx&amp;amp;title=Ra-Ajax Version 2.0.0 Released Today" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to technorati!" href="http://technorati.com/faves/?add=http://kariem.net/archive/2009/06/03/ra-ajax-version-2.0.0-released-today.aspx&amp;amp;title=Ra-Ajax Version 2.0.0 Released Today" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/span&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b8de98a0-8492-4e97-9e3f-99f7e1436c7e" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Ajax" rel="tag"&gt;Ajax&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Web" rel="tag"&gt;Web&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Ra-Ajax" rel="tag"&gt;Ra-Ajax&lt;/a&gt;&lt;/div&gt; &lt;img src="http://kariem.net/aggbug/132593.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kariemali</dc:creator>
            <guid>http://kariem.net/archive/2009/06/03/ra-ajax-version-2.0.0-released-today.aspx</guid>
            <pubDate>Thu, 04 Jun 2009 09:55:40 GMT</pubDate>
            <wfw:comment>http://kariem.net/comments/132593.aspx</wfw:comment>
            <comments>http://kariem.net/archive/2009/06/03/ra-ajax-version-2.0.0-released-today.aspx#feedback</comments>
            <wfw:commentRss>http://kariem.net/comments/commentRss/132593.aspx</wfw:commentRss>
            <trackback:ping>http://kariem.net/services/trackbacks/132593.aspx</trackback:ping>
        </item>
        <item>
            <title>How to Merge Two SVN Repositories</title>
            <link>http://kariem.net/archive/2009/06/02/how-to-merge-two-svn-repositories.aspx</link>
            <description>&lt;blockquote&gt;   &lt;p&gt;If you don't care about retaining all the history of one of the repositories, you can just create a new directory under one project's repository, then import the other.&lt;/p&gt;    &lt;p&gt;If you care about retaining the history of both, then you can use 'svnadmin dump' to dump one repository, and 'svnadmin load' to load it into the other repository. The revision numbers will be off, but you'll still have the history.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The above quote is from the &lt;a href="http://subversion.tigris.org/faq.html#multi-merge" target="_blank"&gt;Subversion FAQ&lt;/a&gt; at &lt;a href="http://www.tigris.org/" target="_blank"&gt;Tigris.org&lt;/a&gt;. After reading it, one might get the impression that merging two SVN repositories is a trivial process. Of course that largely depends on your situation, but it is usually not as streamlined as the above quoted text implies. In this post I will try to detail how I was able to achieve that.&lt;/p&gt;  &lt;h2&gt;Prolog&lt;/h2&gt;  &lt;p&gt;Due to certain circumstances we had to temporarily stop using the public &lt;a href="http://ra-ajax.org" target="_blank"&gt;Ra-Ajax&lt;/a&gt; SVN repository at &lt;a href="http://code.google.com/p/ra-ajax" target="_blank"&gt;Google Code&lt;/a&gt; and continue the development of Ra-Ajax using a private repository at our server. Now that these circumstances are gone, we wanted to merge all revisions from the repository at our server back to the Google Code repository so that we don’t lose any history of changes and can resume development using the Google Code repository.&lt;/p&gt;  &lt;h2&gt;Tools&lt;/h2&gt;  &lt;p&gt;The only tool I needed to do this is &lt;a href="http://www.visualsvn.com/server/" target="_blank"&gt;VisualSVN Server&lt;/a&gt;. It is a Subversion server for Windows that includes all the subversion binaries we need. It also has an &lt;a href="http://en.wikipedia.org/wiki/Microsoft_Management_Console" target="_blank"&gt;MMC snap-in&lt;/a&gt; that allows you to manage your SVN repositories in a nice visual way:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://www.visualsvn.com/server/manager-small.png" /&gt; &lt;/p&gt;  &lt;p&gt;It would be convenient after installing VisualSVN Server to add its bin folder to the PATH environment variable; since we will be using several of the utilities there from the command line.&lt;/p&gt;  &lt;h2&gt;Initial Plan&lt;/h2&gt;  &lt;p&gt;Since we wanted to retain all history of both repositories, following the advice of the Subversion FAQ was the initial plan. However, using ‘&lt;a href="http://svnbook.red-bean.com/en/1.5/svn.ref.svnadmin.c.dump.html" target="_blank"&gt;svnadmin dump&lt;/a&gt;’ and ‘&lt;a href="http://svnbook.red-bean.com/en/1.5/svn.ref.svnadmin.c.load.html" target="_blank"&gt;svnadmin load&lt;/a&gt;’ means that you must have access to the servers that host both repositories. The reason for this is that the two commands expect a path to the repository and not a URL. This is of course possible with the repository that we want to dump which is the private repository at our server but it can’t be done, as far as I know, with the other repository at Google Code which we want to load the dumped repository into.&lt;/p&gt;  &lt;p&gt;To overcome this problem we can mirror the Google Code repository locally and work on this mirror instead. Then we can reset the Google Code repository to revision zero and sync it to this mirror, which would finally contain the result of merging the two repositories. If this seems a little vague to you now, continue reading and more details will come.&lt;/p&gt;  &lt;h2&gt;Dumping the Private Repository&lt;/h2&gt;  &lt;p&gt;Since I have &lt;a href="http://en.wikipedia.org/wiki/Remote_Desktop_Protocol" target="_blank"&gt;RDP&lt;/a&gt; access to our server, I can use ‘svnadmin dump’ from a command line to achieve this, like so:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;svnadmin dump /path/to/privaterepo &amp;gt; PrivateRepo.dump&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;And this will dump the entire repository to the file PrivateRepo.dump. But here came another problem. Our repository at the server does not host only the one project we need to be dumped but it also hosts several other projects. The repository structure can be outlined like this:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;PrivateRepo      &lt;ul&gt;       &lt;li&gt;Ra &lt;/li&gt;        &lt;li&gt;ProjectX &lt;/li&gt;        &lt;li&gt;ProjectY &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Since we are only interested in the project called ‘Ra’ we can use another subversion utility called &lt;a href="http://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html#svn.reposadmin.maint.tk.svndumpfilter" target="_blank"&gt;svndumpfilter&lt;/a&gt; to filter out the unneeded projects from the dump file like this:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;svndumpfilter include --drop-empty-revs --renumber-revs Ra &amp;lt; PrivateRepo.dump &amp;gt; Ra.dump&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;This will filter out the unneeded projects from PrivateRepo.dump and save the result to the Ra.dump file which should only include the project ‘Ra’. The optional arguments --drop-empty-revs and --renumber-revs are necessary here to remove any empty revisions resulting from filtering and to appropriately renumber the revisions that are left.&lt;/p&gt;  &lt;p&gt;If this works for you then good. However, filtering does not always work as expected and svndumpfilter can choke on some projects and fail to filter them out which happened in my case with an error similar to this:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;svndumpfilter: Invalid copy source path '/ProjectX'&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The solution I used to solve this problem is to mirror or synchronize project ‘Ra’ to its own dedicated local repository on my machine. Then dump that mirror instead. &lt;/p&gt;  &lt;h2&gt;Synchronizing Two Repositories&lt;/h2&gt;  &lt;p&gt;This can be done in following steps:&lt;/p&gt;  &lt;p&gt;1. Using VisualSVN Server Manager, create a new user. Let’s assume username: user1 and password: user1_pass&lt;/p&gt;  &lt;p&gt; &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/HowtoMergeTwoSVNRepositories_C392/CreateSVNUser1_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="CreateSVNUser1" border="0" alt="CreateSVNUser1" src="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/HowtoMergeTwoSVNRepositories_C392/CreateSVNUser1_thumb_2.png" width="313" height="230" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2. Right-click Repositories and create a new repository. We will call it ‘RaMirror’. It is important here to keep ‘Create default structure (trunk, branches, tags)’ unchecked since we want this repository to remain at revision zero in order to be able to sync it.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/HowtoMergeTwoSVNRepositories_C392/CreateSVNRepo1_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="CreateSVNRepo1" border="0" alt="CreateSVNRepo1" src="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/HowtoMergeTwoSVNRepositories_C392/CreateSVNRepo1_thumb.png" width="397" height="218" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;3. Right-click the repository ‘RaMirror’ and click on Properties. Here you should make sure that the user we have created in step one has read and write access to this repository. &lt;/p&gt;  &lt;p&gt;4. Before we can sync the two repositories ‘Ra’ and ‘RaMirror’ we need to edit the &lt;a href="http://svnbook.red-bean.com/en/1.5/svn.ref.reposhooks.html" target="_blank"&gt;hook scripts&lt;/a&gt; for ‘RaMirror’. If you installed VisualSVN Server accepting all defaults, the folder that contains the repository files for ‘RaMirror’ will usually be ‘C:\Repositories\RaMirror’. Under the hooks folder, you will find the default hook scripts. &lt;/p&gt;  &lt;p&gt;These are Unix shell scripts, you can of course modify them to work on Windows if you want. But in our situation we don’t really need to do that. We can just rename all hook files to use the ‘cmd’ or ‘bat’ file extensions instead of the default ‘tmpl’ extension in order to make them executable on Windows. &lt;/p&gt;  &lt;p&gt;And for all the post scripts:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;post-commit.cmd &lt;/li&gt;    &lt;li&gt;post-lock.cmd &lt;/li&gt;    &lt;li&gt;post-revprop-change.cmd &lt;/li&gt;    &lt;li&gt;post-unlock.cmd &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We can pretty much clear their contents; because they are mostly used to send notification emails after the corresponding action takes place. As for the other scripts:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;pre-commit.cmd &lt;/li&gt;    &lt;li&gt;pre-lock.cmd &lt;/li&gt;    &lt;li&gt;pre-revprop-change.cmd &lt;/li&gt;    &lt;li&gt;pre-unlock.cmd &lt;/li&gt;    &lt;li&gt;start-commit.cmd &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;They do certain checks to make sure that the provided user credentials are allowed to perform commits, change revision properties, lock/unlock files etc…&lt;/p&gt;  &lt;p&gt;Since we created this repository, RaMirror, locally and since we have full privileges and read/write access, we can modify their contents to just exit with a hard-coded success code. like so:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;exit 0&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;5. We are now ready to sync the repository ‘RaMirror’ with the project that we want to dump, which is project ‘Ra’. To achieve this we will use another subversion utility called &lt;a href="http://svnbook.red-bean.com/en/1.5/svn.ref.svnsync.html" target="_blank"&gt;svnsync&lt;/a&gt; in two steps:&lt;/p&gt;  &lt;p&gt;Firstly, we initialize the syncing process, like so: &lt;/p&gt;  &lt;p align="left"&gt;&lt;font size="2" face="Courier New"&gt;svnsync init --source-username src_user1 --source-password src_user1_pass --sync-username user1 --sync-password user1_pass file:///Repositories/RaMirror svn://ra-ajax.org/Ra&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Here we are using svnsync with the &lt;a href="http://svnbook.red-bean.com/en/1.5/svn.ref.svnsync.c.init.html" target="_blank"&gt;init subcommand&lt;/a&gt;. We are providing credentials using --source-username, --source-password for the source repository that we want to mirror,  and --sync-username, --sync-password for the destination repository which is ‘RaMirror’. Then we provide the URL of the destination repository and the URL of the source repository respectively.&lt;/p&gt;  &lt;p&gt;Secondly, we start the actual synchronization process using svnsync with the &lt;a href="http://svnbook.red-bean.com/en/1.5/svn.ref.svnsync.c.sync.html" target="_blank"&gt;sync subcommand&lt;/a&gt;:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;svnsync sync --source-username src_user1 --source-password src_user1_pass --sync-username user1 --sync-password user1_pass file:///Repositories/RaMirror&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Here we only need to provide the URL of the destination repository. After this finishes successfully you should have a mirror of the source subversion repository with all its history and revisions. And now we can dump this mirror to a dump file:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;svnadmin dump /Repositories/RaMirror &amp;gt; Ra.dump&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;This will dump all revisions to Ra.dump, however the first revision just adds the same files and directories that already exist in the repository which we want to load this dump file into. We need to only start at the revision that had actual changes, assuming it is revision 2 and that the last revision in the repository is 100, the command we should actually use would be like this:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;svnadmin dump --incremental -r 2:100 /Repositories/RaMirror &amp;gt; Ra.dump&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Note that we also pass the --incremental option so that the first dumped revision, 2 in our case, would only describe the changes in that revision and not everything that existed in the repository as of that version.&lt;/p&gt;  &lt;p&gt;I also similarly mirrored the repository at Google Code to a local SVN repository and named it ‘RaGMirror’.&lt;/p&gt;  &lt;h2&gt;Final Steps&lt;/h2&gt;  &lt;p&gt;Since the name of the repository we mirrored is ‘Ra’, the Ra.dump file will have the file/folder names that reside in the root of the repository prefixed with a ‘Ra’ folder. And since we need these files to be created at the root of the repository when we load this dump file not under a subfolder, we need to do some editing. You can read more about this &lt;a href="http://svnbook.red-bean.com/en/1.1/ch05s03.html#svn-ch-5-sect-3.1.3" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I used &lt;a href="http://notepad-plus.sourceforge.net" target="_blank"&gt;Notepad++&lt;/a&gt; to search for all instances of ‘Node-path: Ra/’ and replaced them all with ‘Node-path: ’. We also need to search for the section that creates the ‘Ra’ subfolder and remove it. It would look like this:&lt;/p&gt;  &lt;p&gt;Node-path: Ra    &lt;br /&gt;Node-kind: dir     &lt;br /&gt;Node-action: add     &lt;br /&gt;Prop-content-length: some_number     &lt;br /&gt;Content-length: some_number&lt;/p&gt;  &lt;p&gt;Then we can save the dump file and start to load it into the trunk of our local ‘RaGMirror’ repository:&lt;/p&gt;  &lt;p&gt;svnadmin load --parent-dir trunk /Repositories/RaGMirror &amp;lt; Ra.dump&lt;/p&gt;  &lt;p&gt;After the loading process is finished successfully, the ‘RaGMirror’ repository would contain all revisions and full history of the two repositories that we wanted to merge. &lt;/p&gt;  &lt;p&gt;The final step now is to sync this local repository ‘RaGMirror’ back to the public Google Code repository. Akin to what we did in step five in the previous section, but of course changing credentials and the source and destination URLs. However, before this can be done, the repository at Google Code must be &lt;a href="http://code.google.com/support/bin/answer.py?answer=56673&amp;amp;topic=10386" target="_blank"&gt;reset to revision 0&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Be careful as many things can go wrong, be sure to have backups of every repository you are about to change and use the information provided here at your own risk. The image below shows the two revisions where both repositories merged seamlessly. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/HowtoMergeTwoSVNRepositories_C392/FinalResult_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="FinalResult" border="0" alt="FinalResult" src="http://geekswithblogs.net/images/geekswithblogs_net/kariemali/WindowsLiveWriter/HowtoMergeTwoSVNRepositories_C392/FinalResult_thumb_1.png" width="630" height="213" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;span class="sbmLink"&gt;   &lt;table cellspacing="1" cellpadding="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td class="sbmText"&gt;Share this post : &lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to del.icio.us" href="http://del.icio.us/post?url=http://kariem.net/archive/2009/06/02/how-to-merge-two-svn-repositories.aspx&amp;amp;;title=How to Merge Two SVN Repositories" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to digg" href="http://digg.com/submit?phase=2&amp;amp;url=http://kariem.net/archive/2009/06/02/how-to-merge-two-svn-repositories.aspx&amp;amp;title=How to Merge Two SVN Repositories" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to dotnetkicks" href="http://www.dotnetkicks.com/kick/?url=http://kariem.net/archive/2009/06/02/how-to-merge-two-svn-repositories.aspx&amp;amp;title=How to Merge Two SVN Repositories" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to Facebook" href="http://www.facebook.com/sharer.php?u=http://kariem.net/archive/2009/06/02/how-to-merge-two-svn-repositories.aspx&amp;amp;t=How to Merge Two SVN Repositories" target="_blank"&gt;&lt;img border="0" src="http://blogs.technet.com/photos/james/images/1765319/original.aspx" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to furl" href="http://www.furl.net/store?s=f&amp;amp;to=0&amp;amp;u=http://kariem.net/archive/2009/06/02/how-to-merge-two-svn-repositories.aspx&amp;amp;ti=How to Merge Two SVN Repositories" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/furl4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to reddit!" href="http://reddit.com/submit?url=http://kariem.net/archive/2009/06/02/how-to-merge-two-svn-repositories.aspx&amp;amp;title=How to Merge Two SVN Repositories" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td&gt;&lt;a title="Post it to technorati!" href="http://technorati.com/faves/?add=http://kariem.net/archive/2009/06/02/how-to-merge-two-svn-repositories.aspx&amp;amp;title=How to Merge Two SVN Repositories" target="_blank"&gt;&lt;img border="0" src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;p&gt;&lt;/p&gt;    &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e911cf82-23d0-4d25-97e9-c6d871a253cb" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SVN" rel="tag"&gt;SVN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Subversion" rel="tag"&gt;Subversion&lt;/a&gt;&lt;/div&gt; &lt;/span&gt; &lt;img src="http://kariem.net/aggbug/132555.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kariemali</dc:creator>
            <guid>http://kariem.net/archive/2009/06/02/how-to-merge-two-svn-repositories.aspx</guid>
            <pubDate>Tue, 02 Jun 2009 20:17:10 GMT</pubDate>
            <wfw:comment>http://kariem.net/comments/132555.aspx</wfw:comment>
            <comments>http://kariem.net/archive/2009/06/02/how-to-merge-two-svn-repositories.aspx#feedback</comments>
            <slash:comments>10</slash:comments>
            <wfw:commentRss>http://kariem.net/comments/commentRss/132555.aspx</wfw:commentRss>
            <trackback:ping>http://kariem.net/services/trackbacks/132555.aspx</trackback:ping>
        </item>
    </channel>
</rss>
