<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Malek's Moorish tales</title>
    <link>http://kemmou.com/</link>
    <description>the new 1001 nights mantra : blog or die</description>
    <language>en-us</language>
    <copyright>Malek Kemmou</copyright>
    <lastBuildDate>Sat, 04 Jun 2005 15:23:41 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.8.5223.2</generator>
    <managingEditor>blog@kemmou.com</managingEditor>
    <webMaster>blog@kemmou.com</webMaster>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=d1883dc3-8a8c-4fc0-898c-8cfbdc7a0591</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,d1883dc3-8a8c-4fc0-898c-8cfbdc7a0591.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Check this out :
   </p>
        <p>
          <a href="http://msdn.microsoft.com/elearning/">http://msdn.microsoft.com/elearning/</a>
        </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Elearning for developers</title>
      <guid>http://kemmou.com/PermaLink,guid,d1883dc3-8a8c-4fc0-898c-8cfbdc7a0591.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,d1883dc3-8a8c-4fc0-898c-8cfbdc7a0591.aspx</link>
      <pubDate>Sat, 04 Jun 2005 15:23:41 GMT</pubDate>
      <description>&lt;p&gt;
   Check this out :
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://msdn.microsoft.com/elearning/"&gt;http://msdn.microsoft.com/elearning/&lt;/a&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main</category>
    </item>
    <item xml:lang="ar">
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=bef0e76e-d941-4079-85c9-a0d193cfcaaf</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,bef0e76e-d941-4079-85c9-a0d193cfcaaf.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <blockquote dir="rtl" style="MARGIN-LEFT: 0px">
          <p dir="rtl">
            <font face="Arabic Transparent" size="4">بينما  كنت  اتجول  على 
      الانترنت،  صادفت  مقالا  يتكلم  عن <a href="http://www.abduh.net/index.php?p=93">محاضرة
      ألقيتها في الرياض الشهر الماضي حول المقارنة بين J2EE و NET.</a></font>
          </p>
          <p dir="rtl">
            <font face="Arabic Transparent">
              <font size="4">اتهمني صاحب المقال بأنني قد وعدت بأن
      أكون محايدا تمام الحياد، وأنني لم أتوفق في ذلك. غير أني أتذكر جيدا ما وعدت به، ولم
      أعد أبدا بأن أكون كامل الحياد، حيث أن الكمال للله وحده. عند بداية المحاضرة
      قلت بأنني لست أتقاضى أي أجر من مايكروسفت، وكان ذلك حقيقة عند ذاك، قبل أن ألتحق
      بصفوف موظفي مايكروسفت في بداية هذا الشهر، وقلت أنني سأتجنب أن أميل إلى أي
      جانب ما استطعت، علما بأن اختياري الشخصي لا غبار عليه و أنني أفضل NET.، ولا
      يكلف الله نفسا إلا وسعها.</font>
            </font>
          </p>
          <p dir="rtl">
            <font face="Arabic Transparent" size="4">في نهاية المحاضرة، عاتبني عدد من أصدقاءي
      الميالين لNET. لأنهم شعروا بأنني كنت متساهلا مع J2EE أكثر من اللازم. أظن
      أنني قد كنت أقوم بمقارنة تقنية بعيدة عن العاطفة ما استطعت، و أن أكبر حجة على
      أنني لم أكن ميالا لجانب دون الأخر هو أن كل جانب اعتبرني ميالا للأخر.</font>
          </p>
        </blockquote>
        <p dir="rtl">
          <font face="Arabic Transparent" size="4">  </font>
        </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>عن المحايدة في نقاش بين متشددين</title>
      <guid>http://kemmou.com/PermaLink,guid,bef0e76e-d941-4079-85c9-a0d193cfcaaf.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,bef0e76e-d941-4079-85c9-a0d193cfcaaf.aspx</link>
      <pubDate>Fri, 27 May 2005 14:05:15 GMT</pubDate>
      <description>&lt;blockquote dir=rtl style="MARGIN-LEFT: 0px"&gt; 
&lt;p dir=rtl&gt;
   &lt;font face="Arabic Transparent" size=4&gt;بينما&amp;nbsp; كنت &amp;nbsp;اتجول&amp;nbsp; على&amp;nbsp;
   الانترنت، &amp;nbsp;صادفت&amp;nbsp; مقالا &amp;nbsp;يتكلم&amp;nbsp; عن &lt;a href="http://www.abduh.net/index.php?p=93"&gt;محاضرة
   ألقيتها في الرياض الشهر الماضي حول المقارنة بين J2EE و NET.&lt;/a&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=rtl&gt;
   &lt;font face="Arabic Transparent"&gt;&lt;font size=4&gt;اتهمني صاحب المقال بأنني قد وعدت بأن
   أكون محايدا تمام الحياد، وأنني لم أتوفق في ذلك. غير أني أتذكر جيدا ما وعدت به، ولم
   أعد أبدا بأن أكون&amp;nbsp;كامل الحياد، حيث&amp;nbsp;أن الكمال للله وحده. عند بداية المحاضرة
   قلت بأنني لست أتقاضى أي أجر من مايكروسفت، وكان ذلك حقيقة عند&amp;nbsp;ذاك، قبل أن ألتحق
   بصفوف&amp;nbsp;موظفي مايكروسفت في بداية هذا الشهر، وقلت أنني&amp;nbsp;سأتجنب أن أميل إلى أي
   جانب ما استطعت، علما بأن اختياري الشخصي لا غبار عليه و أنني أفضل&amp;nbsp;NET.،&amp;nbsp;ولا
   يكلف الله نفسا إلا وسعها.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=rtl&gt;
   &lt;font face="Arabic Transparent" size=4&gt;في نهاية المحاضرة،&amp;nbsp;عاتبني عدد من أصدقاءي
   الميالين لNET. لأنهم&amp;nbsp;شعروا بأنني كنت&amp;nbsp;متساهلا مع J2EE أكثر من اللازم.&amp;nbsp;أظن
   أنني قد كنت أقوم بمقارنة تقنية بعيدة عن العاطفة ما استطعت، و أن أكبر&amp;nbsp;حجة على
   أنني لم أكن ميالا لجانب دون الأخر هو أن كل جانب&amp;nbsp;اعتبرني ميالا للأخر.&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=rtl&gt;
   &lt;font face="Arabic Transparent" size=4&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=fded8551-285f-4771-88c2-2742e1318107</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,fded8551-285f-4771-88c2-2742e1318107.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I have been googling myself today (I never said my ego was not super inflated), and
      stumbled upon an <a href="http://www.abduh.net/index.php?p=93">a blog entry talking
      about the presentation on .Net vs. J2EE I did in Riyadh last month</a> (The entry
      is in Arabic). There are a few things I think I should correct, as I think the remarks
      were not ill intended:
   </p>
        <ul>
          <li>
         The author claims that I said I would be perfectly neutral. I would have been foolish
         to claim perfectness in anything. I have only said that I would be as neutral as possible,
         and precised that I my own personnal choice was very clear, and that I prefered .Net</li>
          <li>
         The author said that I didn't succeed in being neutral, and that I was too favorable
         to .Net. I have had many reactions from attendees that were favorable to .Net that
         said that I was giving J2EE much more credit than it deserves. I believe that when
         people are there to discuss, we can talk in a serene and calm technical atmosphere.</li>
        </ul>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Neutrality in "religious"  technology battles....</title>
      <guid>http://kemmou.com/PermaLink,guid,fded8551-285f-4771-88c2-2742e1318107.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,fded8551-285f-4771-88c2-2742e1318107.aspx</link>
      <pubDate>Fri, 27 May 2005 13:42:23 GMT</pubDate>
      <description>&lt;p&gt;
   I have been googling myself today (I never said my ego was not super inflated), and
   stumbled upon an &lt;a href="http://www.abduh.net/index.php?p=93"&gt;a blog entry talking
   about the presentation on .Net vs. J2EE I did in Riyadh last month&lt;/a&gt;&amp;nbsp;(The entry
   is in Arabic). There are a few things I think I should correct, as I think the remarks
   were not ill intended:
&lt;/p&gt;
&lt;ul&gt;
   &lt;li&gt;
      The author claims that I said I would be perfectly neutral. I would have been foolish
      to claim perfectness in anything. I have only said that I would be as neutral as possible,
      and precised that I my own personnal choice was very clear, and that I prefered .Net&lt;/li&gt;
   &lt;li&gt;
      The author said that I didn't succeed in being neutral, and that I was too favorable
      to .Net. I have had many reactions from attendees that were favorable to .Net that
      said that I was giving J2EE much more credit than it deserves. I believe that when
      people are there to discuss, we can talk in a serene and calm technical atmosphere.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main;speaking</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=e0bdd72e-482b-48ea-a39e-ccb0adfbbd0a</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,e0bdd72e-482b-48ea-a39e-ccb0adfbbd0a.aspx</pingback:target>
      <dc:creator>malekblog@kemmou.com (Malek!)</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      As I promised during my sessions at the Microsoft Zirvesi, here are my slide decks
      (I will be publishing the demos later).
   </p>
        <p>
          <a href="http://www.kemmou.com/content/binary/ASMX2.ppt">Visual Studio 2005 :
      new features for the web services developer (926 KB)</a>
        </p>
        <p>
          <a href="http://www.kemmou.com/content/binary/net%20vs%20j2ee1.ppt">DotNet vs j2ee
      (1.4 MB)</a>
        </p>
        <p>
          <a href="http://www.kemmou.com/content/binary/Developing%20Mobile%20Web%20Applications%20With%20ASP.ppt">Developing
      Mobile Web Applications With ASP.NET (1.65 MB)</a>
        </p>
        <p>
          <a href="http://www.kemmou.com/content/binary/Compact%20Framework%20_%20basics.ppt">Compact
      Framework _ part 1 (3.78 MB)</a>
        </p>
        <p>
          <a href="http://www.kemmou.com/content/binary/Compact%20Framework%20_%20SQLCE%20&amp;%20perf%20.ppt">Compact
      Framework _ part 2 (1.47 MB)</a>
        </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Microsoft Zirvesi Content</title>
      <guid>http://kemmou.com/PermaLink,guid,e0bdd72e-482b-48ea-a39e-ccb0adfbbd0a.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,e0bdd72e-482b-48ea-a39e-ccb0adfbbd0a.aspx</link>
      <pubDate>Mon, 02 May 2005 08:20:15 GMT</pubDate>
      <description>&lt;p&gt;
   As I promised during my sessions at the Microsoft Zirvesi, here are my slide decks
   (I will be publishing the demos later).
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.kemmou.com/content/binary/ASMX2.ppt"&gt;Visual Studio 2005&amp;nbsp;:
   new features&amp;nbsp;for the web services developer&amp;nbsp;(926 KB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.kemmou.com/content/binary/net%20vs%20j2ee1.ppt"&gt;DotNet vs j2ee
   (1.4 MB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.kemmou.com/content/binary/Developing%20Mobile%20Web%20Applications%20With%20ASP.ppt"&gt;Developing
   Mobile Web Applications With ASP.NET (1.65 MB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.kemmou.com/content/binary/Compact%20Framework%20_%20basics.ppt"&gt;Compact
   Framework _&amp;nbsp;part 1&amp;nbsp;(3.78 MB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.kemmou.com/content/binary/Compact%20Framework%20_%20SQLCE%20&amp;amp;%20perf%20.ppt"&gt;Compact
   Framework _&amp;nbsp;part 2&amp;nbsp;(1.47 MB)&lt;/a&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main;speaking</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=2500843b-14fc-41e9-a60d-c4a772a09c4e</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,2500843b-14fc-41e9-a60d-c4a772a09c4e.aspx</pingback:target>
      <dc:creator />
      <title>SQL Server 2005 Virtual Labs</title>
      <guid>http://kemmou.com/PermaLink,guid,2500843b-14fc-41e9-a60d-c4a772a09c4e.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,2500843b-14fc-41e9-a60d-c4a772a09c4e.aspx</link>
      <pubDate>Tue, 05 Apr 2005 19:05:42 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;&amp;nbsp;&amp;nbsp; Are you interested
   in experimenting with SQL Server 2005 (formerly codenamed Yukon), but don't have the
   time, the bits or the resources to install it and test it yourself ? Maybe you have
   it intalled, but it is taking you to much time to figure out the features ? &lt;/font&gt;&lt;a href="http://msdn.demoservers.com/login.aspx?group=sql2005"&gt;&lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;MSDN
   has just launched SQL Server 2005 virtual labs you can use&lt;/font&gt;&lt;/a&gt;&lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;&amp;nbsp;as
   part of the Visual Studio hosted experience. On the menu is a great selection of labs
   you can choose from :&lt;/font&gt;
&lt;/p&gt;
&lt;ul dir=ltr&gt;
   &lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
      &lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;SQL Server 2005 Integration Services&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/font&gt;
   &lt;/li&gt;
   &lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
      &lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;SQL Server 2005 Introduction
      to SQL Server Management Studio&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/font&gt;
   &lt;/li&gt;
   &lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
      &lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;SQL Server 2005 Reporting Services&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/font&gt;
   &lt;/li&gt;
   &lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
      &lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;SQL Server 2005 Server Management
      Objects&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/font&gt;
   &lt;/li&gt;
   &lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
      &lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;SQL Server 2005 SQL CLR Integration&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/font&gt;
   &lt;/li&gt;
   &lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
      &lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;SQL Server 2005 SQL Query Tuning&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/font&gt;
   &lt;/li&gt;
   &lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
      &lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;SQL Server 2005 SQL Server and
      ADO.NET (Lab A)&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/font&gt;
   &lt;/li&gt;
   &lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
      &lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;SQL Server 2005 SQL Server and
      ADO.NET (Lab B)&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/font&gt;
   &lt;/li&gt;
   &lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
      &lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;SQL Server 2005 T-SQL Enhancements&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/font&gt;
   &lt;/li&gt;
   &lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
      &lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;SQL Server 2005 Web Services&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/font&gt;
   &lt;/li&gt;
   &lt;li&gt;
      &lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;SQL
      Server 2005 XML Capabilites&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p dir=ltr&gt;
   &lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font face=Verdana,Geneva,Arial,Helvetica,Sans-Serif&gt;Have
   fun!&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=2c158b76-5ce3-4239-ab23-e5c9c8b98ced</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,2c158b76-5ce3-4239-ab23-e5c9c8b98ced.aspx</pingback:target>
      <dc:creator>malekblog@kemmou.com (Malek!)</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
       
   </p>
        <p>
         SSW (australian company, lead by my good friend Adam Cogan) has a <a href="http://www.ssw.com.au/ssw/CodeAuditor/">great
      product for code audit</a>. 
   </p>
        <p>
          <img src="http://ssw.com.au/ssw/CodeAuditor/Images/ScreenPartial1.jpg" border="0" />
        </p>
        <p>
      The concept is quite simple : define rules using regular expressions (it has a builtin
      RegEx editor) to be checked against source code, file path, file names, HTML
      code ...etc, and define wether that is a desirable (should exist) or undesirable (should
      not exist) pattern (there is a lot of flexibility built in, as setting exceptions,
      notes, or statistics about the rules and the time they take). You choose the files
      you want to apply the rules to, and you run a scan. At the end you get a detailed
      report.
   </p>
        <p>
          <img src="http://ssw.com.au/ssw/CodeAuditor/Images/ScreenPartial5.jpg" border="0" />
        </p>
        <p>
         The tool allows you to schedule automatic execution, and email the reports
      to any email address.
   </p>
        <p>
         It has many qualities I love in products: useful, productive, simple... Great
      job, Adam.
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>SSW code auditor -- make your code healthier</title>
      <guid>http://kemmou.com/PermaLink,guid,2c158b76-5ce3-4239-ab23-e5c9c8b98ced.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,2c158b76-5ce3-4239-ab23-e5c9c8b98ced.aspx</link>
      <pubDate>Fri, 18 Mar 2005 04:17:16 GMT</pubDate>
      <description>&lt;p&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; SSW (australian company, lead by my good friend Adam Cogan) has a &lt;a href="http://www.ssw.com.au/ssw/CodeAuditor/"&gt;great
   product for code audit&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
   &lt;img src="http://ssw.com.au/ssw/CodeAuditor/Images/ScreenPartial1.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
   The concept is quite simple : define rules using regular expressions (it has a builtin
   RegEx editor)&amp;nbsp;to be checked against source code, file path, file names, HTML
   code ...etc, and define wether that is a desirable (should exist) or undesirable (should
   not exist) pattern (there is a lot of flexibility built in, as setting exceptions,
   notes, or statistics about the rules and the time they take). You choose the files
   you want to apply the rules to, and you run a scan. At the end you get a detailed
   report.
&lt;/p&gt;
&lt;p&gt;
   &lt;img src="http://ssw.com.au/ssw/CodeAuditor/Images/ScreenPartial5.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; The tool allows you to schedule automatic execution, and email the reports
   to any email address.
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; It has many qualities I love in products: useful, productive, simple...&amp;nbsp;Great
   job, Adam.
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=e6bfad8c-4da6-457f-821f-8dac6defc234</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,e6bfad8c-4da6-457f-821f-8dac6defc234.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      What's the next step for .Net ? this might just be it ...
   </p>
        <p>
      AspSoft  is preparing a big <a href="http://www.aspsoft.com/rallytrailer1.html">surprise</a> for
      TechEd 2005. be there!
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>You won't believe it until you see it...</title>
      <guid>http://kemmou.com/PermaLink,guid,e6bfad8c-4da6-457f-821f-8dac6defc234.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,e6bfad8c-4da6-457f-821f-8dac6defc234.aspx</link>
      <pubDate>Thu, 03 Mar 2005 11:18:46 GMT</pubDate>
      <description>&lt;p&gt;
   What's the next step for .Net ? this might just be it ...
&lt;/p&gt;
&lt;p&gt;
   AspSoft&amp;nbsp; is preparing a big &lt;a href="http://www.aspsoft.com/rallytrailer1.html"&gt;surprise&lt;/a&gt; for
   TechEd 2005. be there!
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=2de1bd70-473b-463a-8f12-e4298012eb5c</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,2de1bd70-473b-463a-8f12-e4298012eb5c.aspx</pingback:target>
      <dc:creator>malekblog@kemmou.com (Malek!)</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=5552696499">
            <img src="http://www.kemmou.com/content/binary/CelebAuction.jpg" border="0" />
          </a>
        </p>
        <p>
           The initiative lead by <a href="http://www.thedatafarm.com/blog/">Julia
      Lerman</a> and <a href="http://www.stephenforte.net/owdasblog">Stephen Forte</a>, the <strong><em>.Net
      "Celebrity" Auction for the benefit <font face="Verdana" size="2">of </font></em></strong><a href="http://www.acehaid.org/"><font face="Verdana" color="#005bba" size="2"><strong><em>Tsunami
      victims of Banda Aceh</em></strong></font></a> will start this afternoon (2pm
      GMT time) on <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=5552696499">e-bay</a> .
      Your bid will buy you an hour of consulting from one of the top experts, and all the
      money will go to the tsunami victims.
   </p>
        <p>
          <a href="http://www.stephenforte.net/owdasblog">Stephen Forte</a> has
      the <a href="http://www.stephenforte.net/owdasblog/#a61b646aa-ca24-47ef-b013-012bf852f79d">complete
      list with bios</a> on his blog.
   </p>
        <p>
          Thanks to <a href="http://www.thinktecture.com/">Thinktecture</a> (and
      fellow .Net celebrities Christian Nagel, Christian Weyers, Ingo Rammer and Ralf Westphal
      from Thinktecture) who, being unable to get on board because they did not get the
      info on time (Travel and busy schedules play tricks on all of us sometimes) they have
      decided to help by picking up all the e-bay fees.
   </p>
        <p>
         You can click on the above link to the e-bay auction or go here : <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=5552696499">http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=5552696499</a></p>
        <p>
         Some people seem to dislike the term "Celebrity" that Julia used to discribe
      us. I don't usually like to be discribed with such words, and I'm sure many on the
      list have the same feelings. but I have a few remarks on the subject : If not every
      single person on the list is a worldwide celebrity (I definitely don't think I am
      one), these are definitely people that would be seen as celebrities at least in their respective
      geographies. Also, the term celebrity only means that they are known and liked by
      a big number of people, which doesn't say the same as "top notch experts", which
      does apply to most people on the list (I would qualify as such everyone escept myself,
      and I know some would disagree with the exclusion)... Anyway, even if the celebrity
      status was not appropriate in other circumstances (and I know many of us have been
      called things that go beyond the term "celebrity" in the past, like "Software Legends",
      "Rock Stars", "Over Achievers", and many other things), it is completely appropriate
      as marketing for such a noble cause.
   </p>
        <p>
          Celebrity or not, these are people that will gie you more than
      your money's worth in consulting and advice.
   </p>
        <p>
          For my part, I intend to give a rather "long hour", and to deliver
      without much delay (notwithstanding my busy agenda).
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>.Net Celebrity charity auction starts today (9am Esatern US)</title>
      <guid>http://kemmou.com/PermaLink,guid,2de1bd70-473b-463a-8f12-e4298012eb5c.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,2de1bd70-473b-463a-8f12-e4298012eb5c.aspx</link>
      <pubDate>Sun, 23 Jan 2005 13:06:57 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;item=5552696499"&gt;&lt;img src="http://www.kemmou.com/content/binary/CelebAuction.jpg" border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The initiative lead by &lt;a href="http://www.thedatafarm.com/blog/"&gt;Julia
   Lerman&lt;/a&gt;&amp;nbsp;and &lt;a href="http://www.stephenforte.net/owdasblog"&gt;Stephen Forte&lt;/a&gt;,&amp;nbsp;the &lt;strong&gt;&lt;em&gt;.Net
   "Celebrity" Auction for the benefit &lt;font face=Verdana size=2&gt;of&amp;nbsp;&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;a href="http://www.acehaid.org/"&gt;&lt;font face=Verdana color=#005bba size=2&gt;&lt;strong&gt;&lt;em&gt;Tsunami
   victims of Banda Aceh&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&amp;nbsp;will start this afternoon (2pm
   GMT time)&amp;nbsp;on &lt;a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;item=5552696499"&gt;e-bay&lt;/a&gt; .
   Your bid will buy you an hour of consulting from one of the top experts, and all the
   money will go to the tsunami victims.
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.stephenforte.net/owdasblog"&gt;Stephen Forte&lt;/a&gt; has
   the &lt;a href="http://www.stephenforte.net/owdasblog/#a61b646aa-ca24-47ef-b013-012bf852f79d"&gt;complete
   list with bios&lt;/a&gt; on his blog.
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Thanks to &lt;a href="http://www.thinktecture.com/"&gt;Thinktecture&lt;/a&gt;&amp;nbsp;(and
   fellow .Net celebrities Christian Nagel, Christian Weyers, Ingo Rammer and Ralf Westphal
   from Thinktecture) who, being unable to get on board because they did not get the
   info on time (Travel and busy schedules play tricks on all of us sometimes) they have
   decided to help by picking up all the e-bay fees.
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; You can click on the above link to the e-bay auction or go here : &lt;a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;item=5552696499"&gt;http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;item=5552696499&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; Some people seem to dislike the term "Celebrity" that Julia used to discribe
   us. I don't usually like to be discribed with such words, and I'm sure many on the
   list have the same feelings. but I have a few remarks on the subject : If not every
   single person on the list is a worldwide celebrity (I definitely don't think I am
   one), these are definitely people that would be seen as celebrities at least in their&amp;nbsp;respective
   geographies. Also, the term celebrity only means that they are known and liked by
   a big number of people, which doesn't say the same as&amp;nbsp;"top notch experts", which
   does apply to most people on the list (I would qualify as such everyone escept myself,
   and I know some would disagree with the exclusion)... Anyway, even if the celebrity
   status was not appropriate in other circumstances (and I know many of us have been
   called things that go beyond the term "celebrity" in the past, like "Software Legends",
   "Rock Stars", "Over Achievers", and many other things), it is completely appropriate
   as marketing for such a noble cause.
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Celebrity or not, these are people that will gie you more than
   your money's worth in consulting and advice.
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; For my part, I intend to give a rather "long hour", and to deliver
   without much delay (notwithstanding my busy agenda).
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=ab3487eb-5b6f-4234-8f0c-11cc9e55c496</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,ab3487eb-5b6f-4234-8f0c-11cc9e55c496.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
           The .Net "Celebrity" Auction for the benefit <strong><font face="Verdana" size="2">of </font></strong><a href="http://www.acehaid.org/"><font face="Verdana" color="#005bba" size="2"><strong>Tsunami
      victims of Banda Aceh</strong></font></a> will start this afternoon (GMT time)
      at <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=5552696499">e-bay</a> .
      Your bid will buy you an hour of consulting from one of the top experts, and all the
      money will go to the tsunami victims.
   </p>
        <p>
          <a href="http://www.stephenforte.net/owdasblog">Stephen Forte</a> has
      the <a href="http://www.stephenforte.net/owdasblog/#a61b646aa-ca24-47ef-b013-012bf852f79d">complete
      list with bios</a> on his blog.
   </p>
        <p>
          Thanks to <a href="http://www.thinktecture.com/">Thinktecture</a> (and
      fellow .Net celebrities Christian Nagel, Christian Weyers, Ingo Rammer and Ralf Westphal
      from Thinktecture) who, being unable to get on board because they did not get the
      info on time (Travel and busy schedules play tricks on all of us sometimes) they have
      decided to help by picking up all the e-bay fees.
   </p>
        <p>
         You can click on the above link to the e-bay auction or go here : <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=5552696499">http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=5552696499</a></p>
        <p>
         For my part, I intend to give a rather "long hour", and to deliver without
      much delay (notwithstanding my busy agenda).
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>.Net Celebrity charity auction starts today (9am Esatern US)</title>
      <guid>http://kemmou.com/PermaLink,guid,ab3487eb-5b6f-4234-8f0c-11cc9e55c496.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,ab3487eb-5b6f-4234-8f0c-11cc9e55c496.aspx</link>
      <pubDate>Sun, 23 Jan 2005 12:28:42 GMT</pubDate>
      <description>&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The .Net "Celebrity" Auction for the benefit &lt;strong&gt;&lt;font face=Verdana size=2&gt;of&amp;nbsp;&lt;/font&gt;&lt;/strong&gt;&lt;a href="http://www.acehaid.org/"&gt;&lt;font face=Verdana color=#005bba size=2&gt;&lt;strong&gt;Tsunami
   victims of Banda Aceh&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&amp;nbsp;will start this afternoon (GMT time)
   at &lt;a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;item=5552696499"&gt;e-bay&lt;/a&gt; .
   Your bid will buy you an hour of consulting from one of the top experts, and all the
   money will go to the tsunami victims.
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.stephenforte.net/owdasblog"&gt;Stephen Forte&lt;/a&gt; has
   the &lt;a href="http://www.stephenforte.net/owdasblog/#a61b646aa-ca24-47ef-b013-012bf852f79d"&gt;complete
   list with bios&lt;/a&gt; on his blog.
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Thanks to &lt;a href="http://www.thinktecture.com/"&gt;Thinktecture&lt;/a&gt;&amp;nbsp;(and
   fellow .Net celebrities Christian Nagel, Christian Weyers, Ingo Rammer and Ralf Westphal
   from Thinktecture) who, being unable to get on board because they did not get the
   info on time (Travel and busy schedules play tricks on all of us sometimes) they have
   decided to help by picking up all the e-bay fees.
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; You can click on the above link to the e-bay auction or go here : &lt;a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;item=5552696499"&gt;http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;item=5552696499&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; For my part, I intend to give a rather "long hour", and to deliver without
   much delay (notwithstanding my busy agenda).
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=f24dc230-8758-4f1c-a4f8-279ece581eab</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,f24dc230-8758-4f1c-a4f8-279ece581eab.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Sony, although almost all their exisisting systems are J2EE based, has choosen .NET
      Framework and .NET Framework built Web Services for their new Professional Services
      web presence. Check it out at <a href="http://www.eweek.com/article2/0,1759,1737129,00.asp">eweek</a>...
   </p>
        <p>
       
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Sony chooses Microsoft for a Web Services based Web Presence solution</title>
      <guid>http://kemmou.com/PermaLink,guid,f24dc230-8758-4f1c-a4f8-279ece581eab.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,f24dc230-8758-4f1c-a4f8-279ece581eab.aspx</link>
      <pubDate>Sat, 22 Jan 2005 18:36:22 GMT</pubDate>
      <description>&lt;p&gt;
   Sony, although almost all their exisisting systems are J2EE based, has choosen .NET
   Framework and .NET Framework built Web Services for their new Professional Services
   web presence. Check it out at &lt;a href="http://www.eweek.com/article2/0,1759,1737129,00.asp"&gt;eweek&lt;/a&gt;...
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=23d9163b-fafb-4b22-b139-fe72cf2610d4</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,23d9163b-fafb-4b22-b139-fe72cf2610d4.aspx</pingback:target>
      <dc:creator>malekblog@kemmou.com (Malek!)</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I haven't been blogging for a while, and that is simply because I am too deeply immersed
      into a project. I can"t tell too much yet, but basically I am building a good size
      SOA implementation. Off course, it is not the size of proseware, nor as fancily crafted
      (I don't have the skill of Sir <a href="http://staff.newtelligence.net/clemensv">Clemens</a> to
      do that), but it is still a nice example (with a few thousands of lines of code).
      It will be another two weeks before I can discuss it more openly here...
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>SOA stuff coming up</title>
      <guid>http://kemmou.com/PermaLink,guid,23d9163b-fafb-4b22-b139-fe72cf2610d4.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,23d9163b-fafb-4b22-b139-fe72cf2610d4.aspx</link>
      <pubDate>Mon, 13 Dec 2004 11:29:34 GMT</pubDate>
      <description>&lt;p&gt;
   I haven't been blogging for a while, and that is simply because I am too deeply immersed
   into a project. I can"t tell too much yet, but basically I am building a good size
   SOA implementation. Off course, it is not the size of proseware, nor as fancily crafted
   (I don't have the skill of Sir &lt;a href="http://staff.newtelligence.net/clemensv"&gt;Clemens&lt;/a&gt; to
   do that), but it is still a nice example (with a few thousands of lines of code).
   It will be another two weeks before I can discuss it more openly here...
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main;SOA</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=54fca88e-81c9-4d11-a781-6a04dd07b985</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,54fca88e-81c9-4d11-a781-6a04dd07b985.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          It sounds like I will be crabby on my posts this week. Although
      I am not seeing axis or IBM Web Services for the first time, I cannot stop myself
      from being horribly surprised by the programming model. I will not compain about all
      the times the environment (Web Sphere Studio 5.1 or test integration server crashes
      for unknown reasons). I simply cannot understand how they expect a developper to be
      working with tons of generated code, which has even a few bugs... like this line :
   </p>
        <p>
          <font size="2">mc.setProperty(com.ibm.ws.webservices.engine.MessageContext.PARAM_MAXOCCURS_NOT1,
      _set2)</font>
        </p>
        <p>
         It gets generated in the SOAPBindingStub when working with unbounded
      arrays as return type, but it seems that MessageContext has no such field...
   </p>
        <p>
         Not too long ago, I was looking at some interop problems one of my customers
      had, and we found ourselves forced to deal with a huge amount of generated client
      side generated source code to be able to pass a username and password for authentication
      (the version of the tools we were using simply dropped authentication by username
      and password when they added support for oasis...)
   </p>
        <p>
      My main problem is not why there are a few bugs (even if they are at a very basic
      level and should definitely not be there if anyone is going to be using the tools
      in the real world), but that the bugs are in generated code, which will be regenerated
      when one makes changes to the source of the bean the service is built from. This
      means that the bug will have to be fixed manually zillions of times during the development
      process !!! and I have not even started to talk about maintaining the service
      after it is deployed... and it is not something that happens on 1 generated file,
      but a big number (serialization/deserialization classes, binding stub, proxy, service
      interface, helper classes, meta data, and other bizarre things) 
   </p>
        <p>
         XML Web Services are built on protocols and interoperability specifications,
      and the mapping between an object model and a service model should be built as a framework
      that encapsulates the generic way of mapping the two worlds, or on a new programming
      model totally built for services (message contract, service contract, channels,
      ports...etc.). 
   </p>
        <p>
         That is the way Microsoft is dealing with the problem, and I think they
      are right in doing so. the asmx model offers an extensible easy way to map the object
      world to the message world, and takes care of mapping the whole thing into xsd and
      wsdl. This model is still OO, but it works for the OO developer. with Visual Studio
      2005, and later with Indigo, the service programming model gets its implementation
      as a framework.
   </p>
        <p>
         Between the two programming models, my choice is definitely made.
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Working with a framework vs. code generation...</title>
      <guid>http://kemmou.com/PermaLink,guid,54fca88e-81c9-4d11-a781-6a04dd07b985.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,54fca88e-81c9-4d11-a781-6a04dd07b985.aspx</link>
      <pubDate>Tue, 07 Sep 2004 01:16:55 GMT</pubDate>
      <description>&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; It sounds like I will be crabby on my posts this week. Although
   I am not seeing axis or IBM Web Services for the first time, I cannot stop myself
   from being horribly surprised by the programming model. I will not compain about all
   the times the environment (Web Sphere Studio 5.1 or test integration server crashes
   for unknown reasons). I simply cannot understand how they expect a developper to be
   working with tons of generated code, which has even a few bugs... like this line :
&lt;/p&gt;
&lt;p&gt;
   &lt;font size=2&gt;mc.setProperty(com.ibm.ws.webservices.engine.MessageContext.PARAM_MAXOCCURS_NOT1,
   _set2)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; It gets generated in the SOAPBindingStub when working with unbounded
   arrays as return type, but it seems that MessageContext has no such field...
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; Not too long ago, I was looking at some interop problems one of my customers
   had, and we found ourselves forced to deal with a huge amount of generated client
   side generated source code to be able to pass a username and password for authentication
   (the version of the tools we were using simply dropped authentication by username
   and password when they added support for oasis...)
&lt;/p&gt;
&lt;p&gt;
   My main problem is not why there are a few bugs (even if they are at a very basic
   level and should definitely not be there if anyone is going to be using the tools
   in the real world), but that the bugs are in generated code, which will be regenerated
   when one makes changes to the source of the bean the service is built from.&amp;nbsp;This
   means that the bug will have to be fixed manually zillions of times during the development
   process&amp;nbsp;!!! and&amp;nbsp;I have not even started to talk about maintaining the service
   after it is deployed... and it is not something that happens on 1 generated file,
   but a big number (serialization/deserialization classes, binding stub, proxy, service
   interface, helper classes, meta data, and other bizarre things)&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; XML Web Services are built on protocols and interoperability&amp;nbsp;specifications,
   and the mapping between an object model and a service model should be built as a framework
   that encapsulates the generic way of mapping the two worlds, or on a new programming
   model totally built for services (message contract, service contract,&amp;nbsp;channels,
   ports...etc.). 
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; That is the way Microsoft is dealing with the problem, and I think they
   are right in doing so. the asmx model offers an extensible easy way to map the object
   world to the message world, and takes care of mapping the whole thing into xsd and
   wsdl. This model is still OO, but it works for the OO developer. with Visual Studio
   2005, and later with Indigo, the service programming model gets its implementation
   as a framework.
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; Between the two programming models, my choice is definitely made.
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main;Views</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=6a6e09c2-70c1-4d4a-805a-d14a9d0a5185</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,6a6e09c2-70c1-4d4a-805a-d14a9d0a5185.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
         Although many might be reporting Microsoft's Friday announcement as bad
      or mitigated news, I only see in it great news. Here is my tqke qt the issues :
   </p>
        <ol dir="ltr">
          <li>
            <div>It is reassuring to know that what matters most to me as a developer and architect,
            i.e. Avalon and Indigo, are on track and going to be released in 2006 as previously
            announced. As for WinFS, and away from the hype, even if I did consider it interesting
            to deal with the amount of data that we will be faced with whithin the Longhorn timeframe,
            it is not as important to me as the other two tenets, especially if search is, as
            promissed, enhanced to a level where it becomes really efficient. here is how I view
            the three technologies :
         </div>
          </li>
        </ol>
        <ul>
          <li>
            <div>Indigo : if there is something that will change the world of computing and make
            the vision that Rafal Lukawiecki calls "pervasive integration" happen, it is the "Service
            Orientation". Off course Microsoft has been leading in the world of Web Services (asmx
            and WSE), but not until "Indigo" will we have the tools that allow us to start
            fullfilling that vision. It is the first framework that allows us to thing, design
            and implements in terms of SOA concepts (Data Contract, Service Contract, abstracting
            the services from the channels and transports). If there is any technology I am eager
            to see released as soon as possible, it is Indigo. This technology is really what
            will make development much better, and allow for the richest feature model through
            a coherent, mangeable model based on SOA.
         </div>
          </li>
          <li>
            <div>Avalon : Even though the most talked about features of Avalon are not necessarily
            very important to me, I am very happy they are included in the Longhorn
            release : media and UI unification, vector based graphics, higher shell integration,
            unification between thin client and rich client, ...etc. These will make applications
            look and feel different, but will take time before becoming mainstream, and thus are
            not as time sensitive.  However, what I would rather see happening as soon as
            possible, is a model where design is truely separate from code. that will save
            me and the developers I work with an incredible amount of time.
         </div>
          </li>
          <li>
            <div>WinFS : Although I am probably not the best person to discuss the importance
            of rows and columns, I see WinFS as being a very interesting way to unify various
            Data Formats, but I remain convinced that with or without WinFS, our documents will
            still live in folders for quite some some time, which means that I don't see it as
            a time sensitive issue. at the same time, and with Yukons support for managed types
            and XML types, I don't see what would stop our applications that use or can make use
            of large quantities of document to store those in the database. We are not yet at
            the phase where developers are doing it and in bad need for a better framework. I
            even see the delay as beneficial, because it may well trigger more custom developped
            solutions, and thus real world experience that will guide the final format of WinFS.
            I will not discuss Object Spaces here, because I truely don't see that technology
            to be either important or even beneficial, simply because I don't like mapping messages
            and objects (although I do use such an approach sometimes, I prefer not to have it
            formalized as if it was a best practice). The only valid reason I can think of that
            would make WinFS an urgently needed technology is the need for quickly finding information
            that resides in documents in the huge number and size we probably will have on our
            hard disks (or for that matter, in remote storage as well) by 2006. That is why I
            was very relieved to hear that the new search functionality is going to be part of
            Longhorn.
         </div>
          </li>
        </ul>
        <li>
          <div>If the annoucement was marked by the decision to keep the schedule, and to cut
         WinFS, it did confirm a very happy rumor : Avalon and Indigo will be released for
         XP and 2003. I have explained above why I need and want those technologies, and being
         able to use them on a broad deployment base is very good news indeed. I hope they
         will also be generalized to the various Windows mobile products as well.
      </div>
        </li>
        <li>
          <div>I have seen some criticism about these news marking a move from being "technology
         oriented" back to the old "product oriented" days. actually, the announcement that
         the core technologies are being developed independently from product release constraints,
         then making it into a product release or not based on their own maturity and quality
         conveys a quite different message. Off course Microsoft makes its money out of products,
         and even its customers want it to be giving them the latest technologies as they go,
         according to manageable cycles. I think many customers would have been unhappy to
         be using the same technology for 7 years. that would have forced another major service
         pack / second edition, which would have been much less interesting than the new technologies
         that will be ready in 2006. I believe the message this annoucement conveys is that
         Microsoft remains a technology company, and that it does deal with market constraints
         and needs without compromising quality of the features and technologies.
      </div>
        </li>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Longhorn announcement was great news!!!</title>
      <guid>http://kemmou.com/PermaLink,guid,6a6e09c2-70c1-4d4a-805a-d14a9d0a5185.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,6a6e09c2-70c1-4d4a-805a-d14a9d0a5185.aspx</link>
      <pubDate>Tue, 31 Aug 2004 21:47:50 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; Although many might be reporting Microsoft's Friday announcement as bad
   or mitigated news, I only see in it great news. Here is my tqke qt the issues :
&lt;/p&gt;
&lt;ol dir=ltr&gt;
   &lt;li&gt;
      &lt;div&gt;It is reassuring to know that what matters most to me as a developer and architect,
         i.e. Avalon and Indigo, are on track and going to be released in 2006 as previously
         announced. As for WinFS, and away from the hype, even if I did consider it interesting
         to deal with the amount of data that we will be faced with whithin the Longhorn timeframe,
         it is not as important to me as the other two tenets, especially if search is, as
         promissed, enhanced to a level where it becomes really efficient. here is how I view
         the three technologies :
      &lt;/div&gt;
   &lt;/li&gt;
&lt;ul&gt;
   &lt;li&gt;
      &lt;div&gt;Indigo : if there is something that will change the world of computing and make
         the vision that Rafal Lukawiecki calls "pervasive integration" happen, it is the "Service
         Orientation". Off course Microsoft has been leading in the world of Web Services (asmx
         and WSE), but&amp;nbsp;not until "Indigo" will we have the tools that allow us to start
         fullfilling that vision. It is the first framework that allows us to thing, design
         and implements in terms of SOA concepts (Data Contract, Service Contract, abstracting
         the services from the channels and transports). If there is any technology I am eager
         to see released as soon as possible, it is Indigo. This technology is really what
         will make development much better, and allow for the richest feature model through
         a coherent, mangeable model based on SOA.
      &lt;/div&gt;
   &lt;/li&gt;
   &lt;li&gt;
      &lt;div&gt;Avalon : Even though the most talked about features of Avalon are not necessarily
         very important to me, I am very happy&amp;nbsp;they are&amp;nbsp;included in the Longhorn
         release : media and UI&amp;nbsp;unification, vector based graphics, higher shell integration,
         unification between thin client and rich client, ...etc. These will make applications
         look and feel different, but will take time before becoming mainstream, and thus are
         not as time sensitive.&amp;nbsp; However, what I would rather see happening as soon as
         possible, is&amp;nbsp;a model where design is truely separate from code. that will save
         me and the developers I work with an incredible amount of time.
      &lt;/div&gt;
   &lt;/li&gt;
   &lt;li&gt;
      &lt;div&gt;WinFS : Although I am probably not the best person to discuss the importance
         of rows and columns, I see WinFS as being a very interesting way to unify various
         Data Formats, but I remain convinced that with or without WinFS, our documents will
         still live in folders for quite some some time, which means that I don't see it as
         a time sensitive issue. at the same time, and with Yukons support for managed types
         and XML types, I don't see what would stop our applications that use or can make use
         of large quantities of document to store those in the database. We are not yet at
         the phase where developers are doing it and in bad need for a better framework. I
         even see the delay as beneficial, because it may well trigger more custom developped
         solutions, and thus real world experience that will guide the final format of WinFS.
         I will not discuss Object Spaces here,&amp;nbsp;because I truely don't see that technology
         to be either important or even beneficial, simply because I don't like mapping messages
         and objects (although I do use such an approach sometimes, I prefer not to have it
         formalized as if it was a best practice). The only valid reason I can think of that
         would make WinFS an urgently needed technology is the need for quickly finding information
         that resides in documents in the huge number and size we probably will have on our
         hard disks (or for that matter, in remote storage as well) by 2006. That is why I
         was very relieved to hear that the new search functionality is going to be part of
         Longhorn.
      &lt;/div&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
   &lt;div&gt;If the annoucement was marked by the decision to keep the schedule, and to cut
      WinFS, it did confirm a very happy rumor : Avalon and Indigo will be released for
      XP and 2003. I have explained above why I need and want those technologies, and being
      able to use them on a broad deployment base is very good news indeed. I hope they
      will also be generalized to the various Windows mobile products as well.
   &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
   &lt;div&gt;I have seen some criticism about these news marking a move from being "technology
      oriented" back to the old "product oriented" days. actually, the announcement that
      the core technologies are being developed independently from product release constraints,
      then making it into a product release or not based on their own maturity and quality
      conveys a quite different message. Off course Microsoft makes its money out of products,
      and even its customers want it to be giving them the latest technologies as they go,
      according to manageable cycles. I think many customers would have been unhappy to
      be using the same technology for 7 years. that would have forced another major service
      pack / second edition, which would have been much less interesting than the new technologies
      that will be ready in 2006. I believe the message this annoucement conveys is that
      Microsoft remains a technology company, and that it does deal with market constraints
      and needs without compromising quality of the features and technologies.
   &lt;/div&gt;
&lt;/li&gt;&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main;Views</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=aeaa1dc1-a67d-475b-acaa-4d00c1a3c8ce</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,aeaa1dc1-a67d-475b-acaa-4d00c1a3c8ce.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr" style="MARGIN-RIGHT: 0px">
         last June, at the Q&amp;A session at the Pakistan Developer Conference
      in Karachi, an attendee asked : "Can there be an exploitable buffer overrun in the
      CLR?". My answer was that it is always possible in theory... I was really tired after
      five sessions back to back. I did not develop my answer enough. I am not an expert
      on the CLR, so I post this in hope to get some comments from more knowledgeable people
      on the subject. 
   </p>
        <p dir="ltr" style="MARGIN-RIGHT: 0px">
          Here are my thoughts :
   </p>
        <ol>
          <li>
         The CLR is definitely unmanaged, and thus, in theory it can have a buffer overrun.
         No Developer is beyond making mistakes, and there certainly could be a buffer overrun.
         the problem is whether it can be exploited, and if so, how...</li>
          <li style="MARGIN-RIGHT: 0px">
         One shouldn't confuse the CLR with the .Net Framework : we develop in managed code
         against the built-in classes of the .Net Framework. this means that any exploitable
         buffer overrun that would surface in our applications would have to be there on the
         classes we develop. This means that if a buffer overrun on CLR is to be exploited
         through managed code, it has not only to be there on the CLR, but also to re-surface
         through some of the .Net Framework classes (calls to managed heap allocation for example,
         without validating values before making the call to the CLR). then, our own code would
         have to have the same flaw again... that means that the same flaw, applying to the
         very same value, would have to exist in three separate layers. The probability is
         so low that, even if it is theoritically possible, it remains so improbable that one
         should dismiss its possibility. There is a higher chance of having a class in the
         .Net framework itself having a buffer overrun in a native call, than having a CLR
         buffer overrun re-surface. 
      </li>
          <li style="MARGIN-RIGHT: 0px">
         Can there be an unmanaged call to the CLR exploiting a possible buffer overrun ? I
         will address this in a coming post</li>
        </ol>
        <p style="MARGIN-RIGHT: 0px">
          Anyway, I realize the question's main objective is to find out
      whether it is possible to defeat the managed code security messaging. No matter whether
      there is a possible theoritical buffer overrun exploit (which will be, in any case
      so improbable that it is virtually impossible), it is very clear that the managed
      code is hundreds of times more secure than unmanaged...
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Can there be an exploitable buffer overrun in the CLR ?</title>
      <guid>http://kemmou.com/PermaLink,guid,aeaa1dc1-a67d-475b-acaa-4d00c1a3c8ce.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,aeaa1dc1-a67d-475b-acaa-4d00c1a3c8ce.aspx</link>
      <pubDate>Fri, 06 Aug 2004 15:15:22 GMT</pubDate>
      <description>&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &amp;nbsp;&amp;nbsp; last June, at the Q&amp;amp;A session at the Pakistan Developer Conference
   in Karachi, an attendee asked : "Can there be an exploitable buffer overrun in the
   CLR?". My answer was that it is always possible in theory... I was really tired after
   five sessions back to back. I did not develop my answer enough. I am not an expert
   on the CLR, so I post this in hope to get some comments from more knowledgeable people
   on the subject. 
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Here are my thoughts :
&lt;/p&gt;
&lt;ol&gt;
   &lt;li&gt;
      The CLR is definitely unmanaged, and thus, in theory it can have a buffer overrun.
      No Developer is beyond making mistakes, and there certainly could be a buffer overrun.
      the problem is whether it can be exploited, and if so, how...&lt;/li&gt;
   &lt;li style="MARGIN-RIGHT: 0px"&gt;
      One shouldn't confuse the CLR with the .Net Framework : we develop in managed code
      against the built-in classes of the .Net Framework. this means that any exploitable
      buffer overrun that would surface in our applications would have to be there on the
      classes we develop. This means that if a buffer overrun on CLR is to be exploited
      through managed code, it has not only to be there on the CLR, but also to re-surface
      through some of the .Net Framework classes (calls to managed heap allocation for example,
      without validating values before making the call to the CLR). then, our own code would
      have to have the same flaw again... that means that the same flaw, applying to the
      very same value, would have to exist in three separate layers. The probability is
      so low that, even if it is theoritically possible, it remains so improbable that one
      should dismiss its possibility. There is a higher chance of having a class in the
      .Net framework itself having a buffer overrun in a native call, than having a CLR
      buffer overrun re-surface. 
   &lt;/li&gt;
   &lt;li style="MARGIN-RIGHT: 0px"&gt;
      Can there be an unmanaged call to the CLR exploiting a possible buffer overrun ? I
      will address this in a coming post&lt;/li&gt;
&lt;/ol&gt;
&lt;p style="MARGIN-RIGHT: 0px"&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Anyway, I realize the question's main objective is to find out
   whether it is possible to defeat the managed code security messaging. No matter whether
   there is a possible theoritical buffer overrun exploit (which will be, in any case
   so improbable that it is virtually impossible), it is very clear that the managed
   code is hundreds of times more secure than unmanaged...
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=e62f8226-70ff-4395-8f63-9598b523a76d</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,e62f8226-70ff-4395-8f63-9598b523a76d.aspx</pingback:target>
      <dc:creator>malekblog@kemmou.com (Malek!)</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
           Friday, Lee Mungai and I had a great day speaking at DevDays
      Mauritius. here is the content I presented (sorry for the delay).
   </p>
        <p>
          <a href="http://www.kemmou.com/content/binary/(0) Trends and Vision.ppt">(0) Trends
      and Vision.ppt (1.54 MB)</a>
        </p>
        <p>
          <a href="http://www.kemmou.com/content/binary/(1) Threats and Defenses.ppt">(1) Threats
      and Defenses.ppt (1.72 MB)</a>
        </p>
        <p>
          <a href="http://www.kemmou.com/content/binary/(2) Rebuild the puzzle.ppt">(2) Rebuild
      the puzzle.ppt (1.69 MB)</a>
        </p>
        <p>
          <a href="http://www.kemmou.com/content/binary/DevDays_Demos.zip">DevDays_Demos.zip
      (257.15 KB)</a>
        </p>
        <a href="http://www.kemmou.com/content/binary/Demos Tutorial.zip">Demos Tutorial.zip
   (387.06 KB)</a>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Mauritius DevDays was great...</title>
      <guid>http://kemmou.com/PermaLink,guid,e62f8226-70ff-4395-8f63-9598b523a76d.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,e62f8226-70ff-4395-8f63-9598b523a76d.aspx</link>
      <pubDate>Mon, 28 Jun 2004 06:26:59 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Friday, Lee Mungai and I had a great day speaking at DevDays
   Mauritius. here is the content I presented (sorry for the delay).
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.kemmou.com/content/binary/(0) Trends and Vision.ppt"&gt;(0) Trends
   and Vision.ppt (1.54 MB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.kemmou.com/content/binary/(1) Threats and Defenses.ppt"&gt;(1) Threats
   and Defenses.ppt (1.72 MB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.kemmou.com/content/binary/(2) Rebuild the puzzle.ppt"&gt;(2) Rebuild
   the puzzle.ppt (1.69 MB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.kemmou.com/content/binary/DevDays_Demos.zip"&gt;DevDays_Demos.zip
   (257.15 KB)&lt;/a&gt;
&lt;/p&gt;
&lt;a href="http://www.kemmou.com/content/binary/Demos Tutorial.zip"&gt;Demos Tutorial.zip
(387.06 KB)&lt;/a&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main;speaking</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=6a7e053e-ced6-4312-a688-c47b6d046df6</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,6a7e053e-ced6-4312-a688-c47b6d046df6.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
          Tomorrow, I'll be doing 5 sessions back to back. 4 were planned,
      and one of Steven's sessions (he couldn't make it to Karachi). These sessions are
      :
   </p>
        <ol dir="ltr">
          <li>
            <div>
              <font face="Arial" size="2">Mobile Web Development with Microsoft Visual Studio
            .NET</font>
            </div>
          </li>
          <li>
            <div>
              <font face="Arial" size="2">Developing Compact Framework Applications for PocketPC
            and Smartphone</font>
            </div>
          </li>
          <li>
            <div>
              <font face="Arial" size="2">Developing PocketPC Applications for a Semi-Connected
            Environment</font>
            </div>
          </li>
          <li>
            <div>
              <font face="Arial" size="2">Introduction to ADO.Net</font>
            </div>
          </li>
          <li>
            <div>
              <font face="Arial" size="2">Developing Performing Mobile Applications with the
            .Net Compact Framework</font>
            </div>
          </li>
        </ol>
        <p dir="ltr">
          <font face="Arial" size="2">
          </font> 
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>My PDC 2004 sessions</title>
      <guid>http://kemmou.com/PermaLink,guid,6a7e053e-ced6-4312-a688-c47b6d046df6.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,6a7e053e-ced6-4312-a688-c47b6d046df6.aspx</link>
      <pubDate>Tue, 15 Jun 2004 08:37:43 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Tomorrow, I'll be doing 5 sessions back to back. 4 were planned,
   and one of Steven's sessions (he couldn't make it to Karachi). These sessions are
   :
&lt;/p&gt;
&lt;ol dir=ltr&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font face=Arial size=2&gt;Mobile Web Development with Microsoft Visual Studio .NET&lt;/font&gt;
      &lt;/div&gt;
   &lt;/li&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font face=Arial size=2&gt;Developing Compact Framework Applications for PocketPC
         and Smartphone&lt;/font&gt;
      &lt;/div&gt;
   &lt;/li&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font face=Arial size=2&gt;Developing PocketPC Applications for a Semi-Connected
         Environment&lt;/font&gt;
      &lt;/div&gt;
   &lt;/li&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font face=Arial size=2&gt;Introduction to ADO.Net&lt;/font&gt;
      &lt;/div&gt;
   &lt;/li&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font face=Arial size=2&gt;Developing Performing Mobile Applications with the .Net
         Compact Framework&lt;/font&gt;
      &lt;/div&gt;
   &lt;/li&gt;
&lt;/ol&gt;
&lt;p dir=ltr&gt;
   &lt;font face=Arial size=2&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;C#;speaking</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=5c2fac5f-9f07-45a0-9e5d-0e26b10e1b28</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,5c2fac5f-9f07-45a0-9e5d-0e26b10e1b28.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
         While I am convinced the smartphone has a role to play in business solutions,
      I don't think it should be looked at the same way we look at PocketPCs and other handheld
      devices. 
   </p>
        <p dir="ltr">
         The PocketPC is essentially a small PC, and its logical role in the enterprise
      is to extend the information system to englobe the mobile forces in the field. This
      means that the applications we develop for the PocketPC are essentially extensions
      to LOB, CRM, billing and such usual applications needed in the business processes.
      The only difference between them and applications that reside on the server or the
      desktop is that the PocketPC has lower ressources, smaller form factor, powered by
      batterie (limited autonomy), ...etc. If the PocketPC was as powerful as desktops,
      the apps we develop for it would be just the same as those we develop for the desktop.
      The necessity of small footprint, along with the semi-connected nature of all mobile
      devices imposes a certain way of development (rich client, data persistence, and eventually
      some connected operations when needed, essentially through web services). Although
      not as efficient as typing on a keyboard, the stylus typing can be decently used for
      data input.
   </p>
        <p dir="ltr">
         The smartphone, however, is essentially a phone (even if it is the most
      advanced form of phones), whith a small potential of data persitence and assisted
      data input. In my view, it should not (yet) be viewed as an extension to the business
      solutions, as much as a simple bridge between the solution that resides on the servers
      and the telephony or location capabilities of a phone. typically, the smartphone would
      be used to get some data from the system, but only in as much as that data is related
      to or helping on decision for making phone calls, appointments, ...etc, or for callecting
      prédefined data. The one handed operation of the phone, and the hardly efficient typing
      makes any input that goes beyond a few letters or a few digits almost impossible.
      On type of aplications I have found very intersting is reporting. It is linked to
      appointments, possibly to making phone calls (to confirm appointments, to postpone
      or delay commitments - which usually would involve sending messages or making phone
      calls) and it has predifined input (customers, tasks, ...etc) and usually only require
      choosing the appropriate info, and adding dates and times to them. When comments are
      needed, they can be dictated or voice recorded. then, the info can be synchronized
      back to the server - either through GPRS, or some other synchronization mechanism
      that requires the phone to be docked or wired to the system (like activeSync, Irda,
      bluetooth, or any other technique). That type of application is a perfect example
      of how the smartphone can add productivity and simplify some of the most painful processes.
   </p>
        <p dir="ltr">
         That is why, even though I am absolutely not fond of P/Invoke, I think
      it is an essential part of developing for the smartphone.
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Developing for the Smartphone is different...</title>
      <guid>http://kemmou.com/PermaLink,guid,5c2fac5f-9f07-45a0-9e5d-0e26b10e1b28.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,5c2fac5f-9f07-45a0-9e5d-0e26b10e1b28.aspx</link>
      <pubDate>Wed, 02 Jun 2004 13:20:33 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; While I am convinced the smartphone has a role to play in business solutions,
   I don't think it should be looked at the same way we look at PocketPCs and other handheld
   devices. 
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; The PocketPC is essentially a small PC, and its logical role in the enterprise
   is to extend the information system to englobe the mobile forces in the field. This
   means that the applications we develop for the PocketPC are essentially extensions
   to LOB, CRM, billing and such usual applications needed in the business processes.
   The only difference between them and applications that reside on the server or the
   desktop is that the PocketPC has lower ressources, smaller form factor, powered by
   batterie (limited autonomy), ...etc. If the PocketPC was as powerful as desktops,
   the apps we develop for it would be just the same as those we develop for the desktop.
   The necessity of small footprint, along with the semi-connected nature of all mobile
   devices imposes a certain way of development (rich client, data persistence, and eventually
   some connected operations when needed, essentially through web services). Although
   not as efficient as typing on a keyboard, the stylus typing can be decently used for
   data input.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; The smartphone, however, is essentially a phone (even if it is the most
   advanced form of phones), whith a small potential of data persitence and assisted
   data input. In my view, it should not (yet) be viewed as an extension to the business
   solutions, as much as a simple bridge between the solution that resides on the servers
   and the telephony or location capabilities of a phone. typically, the smartphone would
   be used to get some data from the system, but only in as much as that data is related
   to or helping on decision for making phone calls, appointments, ...etc, or for callecting
   prédefined data. The one handed operation of the phone, and the hardly efficient typing
   makes any input that goes beyond a few letters or a few digits almost impossible.
   On type of aplications I have found very intersting is reporting. It is linked to
   appointments, possibly to making phone calls (to confirm appointments, to postpone
   or delay commitments - which usually would involve sending messages or making phone
   calls) and it has predifined input (customers, tasks, ...etc) and usually only require
   choosing the appropriate info, and adding dates and times to them. When comments are
   needed, they can be dictated or voice recorded. then, the info can be synchronized
   back to the server - either through GPRS, or some other synchronization mechanism
   that requires the phone to be docked or wired to the system (like activeSync, Irda,
   bluetooth, or any other technique). That type of application is a perfect example
   of how the smartphone can add productivity and simplify some of the most painful processes.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; That is why, even though I am absolutely not fond of P/Invoke, I think
   it is an essential part of developing for the smartphone.
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;mobility</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=991c7b93-e7d3-4bfc-86a7-44491e8e3aa9</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,991c7b93-e7d3-4bfc-86a7-44491e8e3aa9.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
         The Imagine Cup is organized for the first time in Morocco this year,
      and the finals will be on Saturday May 8th.
   </p>
        <p dir="ltr">
         The event is taking place at the INPT in Rabat (Institut National des
      Postes et Télécommunications). I will do a keynote on future technologies...
   </p>
        <p dir="ltr">
         I think it will be fun being on the jury (if I make it, for I have a
      chance to spend some time with my daughter this week end)...
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Imagine Cup Finals in Morocco</title>
      <guid>http://kemmou.com/PermaLink,guid,991c7b93-e7d3-4bfc-86a7-44491e8e3aa9.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,991c7b93-e7d3-4bfc-86a7-44491e8e3aa9.aspx</link>
      <pubDate>Thu, 06 May 2004 15:38:06 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; The Imagine Cup is organized for the first time in Morocco this year,
   and the finals will be on Saturday May 8th.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; The event is taking place at the INPT in Rabat (Institut National des
   Postes et Télécommunications). I will do a keynote on future technologies...
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; I think it will be fun being on the jury (if I make it, for I have a
   chance&amp;nbsp;to spend some time with my daughter this week end)...
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main;speaking</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=bb40b0ab-af05-4206-acf2-e4ee252668e8</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,bb40b0ab-af05-4206-acf2-e4ee252668e8.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
          <span>
            <font face="Times New Roman" size="3">
              <span style="FONT-SIZE: 12pt">
                <img src="http://www.malekkemmou.ma/content/binary/Ill%20be%20there%20(TechEd).bmp" border="0" />
              </span>
            </font>
          </span>
        </p>
        <p dir="ltr">
         This year at TechEd, there is an interesting new addition : <strong>The
      Cabañas at the Community Lounge</strong>. The idea is to cut the distance between
      attendees and speakers/experts. Here are a few intersting happenings :
   </p>
        <ul dir="ltr">
          <li>
            <div>Meet the Technologist sessions : These are pretty much breakout sessions, but
            they are more attendee friendly in that they are smaller, and allowing more interaction
            with the speakers. They range from Chalk Talks to fully preped presentations with
            demos, in small open Cabañas. Attendees (At most, 30 per session) will have the
            oportunity to ask questions as the speaker is covering his topic, which, I am sure,
            will give those sessions a much more intimate atmosphere.
         </div>
          </li>
          <li>
            <div>There will be no speaker lounge at TechEd, and speakers are supposed to simply
            hung out at the Community Lounge. That will let the attendees find the speakers much
            more easily and interact much more easily
         </div>
          </li>
          <li>
            <div>There will be a concierge to help attendees find experts that can answer their
            questions. Many experts both from Microsoft and from the industry will be present
            in the Community Lounge at specified times, so that attendees can find them easily
            and discuss their subjects of interest with them.
         </div>
          </li>
        </ul>
        <p>
          If you attend TechEd, don't miss the Community Lounge, it will
      be a fun and informative experience.
   </p>
        <p>
          I will be giving a Meet the Technologist session on "Writing .Net
      Compact Framework application that use the Telephony and Messaging APIs". If you are
      interested in mobile device development, come to the session and I will be glad to
      discuss any questions you may have. I will also be present at the community Lounge
      pretty much every day.
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>The Cabañas at TechED this year...</title>
      <guid>http://kemmou.com/PermaLink,guid,bb40b0ab-af05-4206-acf2-e4ee252668e8.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,bb40b0ab-af05-4206-acf2-e4ee252668e8.aspx</link>
      <pubDate>Mon, 03 May 2004 16:35:08 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &lt;span&gt;&lt;font face="Times New Roman" size=3&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;img src="http://www.malekkemmou.ma/content/binary/Ill%20be%20there%20(TechEd).bmp" border=0&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; This year at TechEd, there is an interesting new addition : &lt;strong&gt;The
   Cabañas at the Community Lounge&lt;/strong&gt;. The idea is to cut the distance between
   attendees and speakers/experts. Here are a few intersting happenings :
&lt;/p&gt;
&lt;ul dir=ltr&gt;
   &lt;li&gt;
      &lt;div&gt;Meet the Technologist sessions : These are pretty much breakout sessions, but
         they are more attendee friendly in that they are smaller, and allowing more interaction
         with the speakers. They range from Chalk Talks to fully preped presentations with
         demos, in small open Cabañas. Attendees (At most, 30 per session)&amp;nbsp;will have the
         oportunity to ask questions as the speaker is covering his topic, which, I am sure,
         will give those sessions a much more intimate atmosphere.
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;There will be no speaker lounge at TechEd, and speakers are supposed to simply
         hung out at the Community Lounge. That will let the attendees find the speakers much
         more easily and interact much more easily
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;There will be a concierge to help attendees find experts that can answer their
         questions. Many experts both from Microsoft and from the industry will be present
         in the Community Lounge at specified times, so that attendees can find them easily
         and discuss their subjects of interest with them.
      &lt;/div&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; If you attend TechEd, don't miss the Community Lounge, it will
   be a fun and informative experience.
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; I will be giving a Meet the Technologist session on "Writing .Net
   Compact Framework application that use the Telephony and Messaging APIs". If you are
   interested in mobile device development, come to the session and I will be glad to
   discuss any questions you may have. I will also be present at the community Lounge
   pretty much every day.
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main;speaking;TechEd</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=e717138f-7376-43c9-a088-1007b9817051</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,e717138f-7376-43c9-a088-1007b9817051.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
         Je me rappelle que, il y a quelques années, je me demandais pourquoi
      la plus grande partie des applications client riche avait un design très peu flatteur,
      alors qu'on retrouve du design bien plus poussé dans les applications Web. Cela ressemblait
      à une contradiction, puisque sur le client riche on dispose de beaucoup plus de moyen
      pour bien exploiter les capacités graphiques de la machine que dans un browser.
   </p>
        <p dir="ltr">
         J'avais à l'époque passé un peu de temps avant de me rendre compte (je
      suis peut être un peu stupide sur les bords?) que c'était parceque le modèle de développement
      n'était pas du tout le même. Sur les applications Web, les designers s'occupent de
      créer la charte graphique, et les développeurs s'attellent à ne créer que les fonctionnalités
      dynamiques (accès aux bases de données, traitement des interactions utilisateur, validation,
      ... etc). Ce qui m'avait pris un temps de réflexion était le pourquoi, avant de me
      rendre compte que c'était facile de créer des applications de design qui générent
      du code, mais qu'il faut encore que le code qui gère l'affichage soit séparé
      de celui qui gère les aspects dynamiques, et que HTML remplissait ce rôle. Je savait
      pertinament qu'il n'était pas facile de dépasser les fonctionnalités de HTML (temps
      pour normaliser, temps pour implémenter les nouvelles normes, puis temps pour que
      cette nouvelle norme soit supportée par la majorité des browser) et que cette opération
      prennait des années.
   </p>
        <p dir="ltr">
         Quand XML est arrivé, on pensait que c'était un bon moyen pour que, sur
      le Web au moins, on puisse créer du code qui exploiter facilement toutes
      fonctionnalités nouvelles des nouveaux browsers sans pour autant perdre la compatibilité
      avec les browsers ancien (différents XSLT en fonction du UserAgent). D'ailleur, on
      pouvait aussi imaginer que les applications client riche utilisent le même modèle
      en basant la génération dynamique de l'affichage sur du XML. Le problème restait que
      l'affichage était cintrolé par le XSLT, et donc que c'était aux développeurs de le
      traiter et non pas aux designers... et donc le modèle en entier cassait.
   </p>
        <p dir="ltr">
         Aujourd'hui, nous avons enfin un modèle qui permet de séparer réellement
      le code du contenu, que ce soit dans des applications client riche ou lèger, et ce
      modèle se base sur une forme de XML appellée XAML (Extended Application Markup Language).
      Ce modèle à été conçu par Microsoft dans le cadre de la refonte du sous système de
      présentation de Windows qui fera partie de Windows "Longhorn" (prévu pour 2006).
      Ce qui est intéressant dans ce modèle, c'est qu'il offre un modèle semblable
      à HTML, sauf qu'il est utilisable sur tout type de client, et que le code n'a pas
      a être mélangé dans le HTML (même plus que ce n'était le cas avec ASP.Net).
   </p>
        <p dir="ltr">
         Le principe est très simple :
   </p>
        <ul dir="ltr">
          <li>
            <div> Le code déclaratif (XAML) permet  une utilisation très riche des possibilités
            graphgiques (contrôles, documents, médias, transparence, effets, animlations, transformations
            ..etc). il est donc possible de faire des designs impresionnant avec XAML (ce que
            Adobe a très vite compris et a commencé à préparer des applications de design basées
            sur XAML). Ce code sera utilisé par le compilateur comme une classe partielle complètée
            par le la classe qui est dans le code (sans avoir à ajouter des balises ou quoi que
            ce soit)
         </div>
          </li>
          <li>
            <div>Le code fait en langage de développement qui constitue une classe partielle complétée
            par le XAML. 
         </div>
          </li>
        </ul>
        <p>
         Même si ce modèle fait partie de Windows Longhorn, on peut d'ors et déjà
      l'utiliser à travers les outils tels que Xamlon (interprétation du XAML en runtime,
      et code behind dans un code séparé) et les divers générateurs XAML
      qui permettent de transformer des documents Illustrator ou After Effect (ou autres)
      en XAML. Les résultats sont impéssioanants...
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Séparation entre code et contenu : XAML ...</title>
      <guid>http://kemmou.com/PermaLink,guid,e717138f-7376-43c9-a088-1007b9817051.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,e717138f-7376-43c9-a088-1007b9817051.aspx</link>
      <pubDate>Tue, 06 Apr 2004 11:57:08 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; Je me rappelle que, il y a quelques années, je me demandais pourquoi
   la plus grande partie des applications client riche avait un design très peu flatteur,
   alors qu'on retrouve du design bien plus poussé dans les applications Web. Cela ressemblait
   à une contradiction, puisque sur le client riche on dispose de beaucoup plus de moyen
   pour bien exploiter les capacités graphiques de la machine que dans un browser.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; J'avais à l'époque passé un peu de temps avant de me rendre compte (je
   suis peut être un peu stupide sur les bords?) que c'était parceque le modèle de développement
   n'était pas du tout le même. Sur les applications Web, les designers s'occupent de
   créer la charte graphique, et les développeurs s'attellent à ne créer que les fonctionnalités
   dynamiques (accès aux bases de données, traitement des interactions utilisateur, validation,
   ... etc). Ce qui m'avait pris un temps de réflexion était le pourquoi, avant de me
   rendre compte que c'était facile de créer des applications de design qui générent
   du code, mais&amp;nbsp;qu'il faut encore que le code qui gère l'affichage soit séparé
   de celui qui gère les aspects dynamiques, et que HTML remplissait ce rôle. Je savait
   pertinament qu'il n'était pas facile de dépasser les fonctionnalités de HTML (temps
   pour normaliser, temps pour implémenter les nouvelles normes, puis temps pour que
   cette nouvelle norme soit supportée par la majorité des browser) et que cette opération
   prennait des années.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; Quand XML est arrivé, on pensait que c'était un bon moyen pour que, sur
   le Web au moins, on puisse créer du code qui&amp;nbsp;exploiter facilement&amp;nbsp;toutes
   fonctionnalités nouvelles des nouveaux browsers sans pour autant perdre la compatibilité
   avec les browsers ancien (différents XSLT en fonction du UserAgent). D'ailleur, on
   pouvait aussi imaginer que les applications client riche utilisent le même modèle
   en basant la génération dynamique de l'affichage sur du XML. Le problème restait que
   l'affichage était cintrolé par le XSLT, et donc que c'était aux développeurs de le
   traiter et non pas aux designers... et donc le modèle en entier cassait.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; Aujourd'hui, nous avons enfin un modèle qui permet de&amp;nbsp;séparer réellement
   le code du contenu, que ce soit dans des applications client riche ou lèger, et ce
   modèle se base sur une forme de XML appellée XAML (Extended Application Markup Language).
   Ce modèle à été conçu par Microsoft dans le cadre de la refonte du sous système de
   présentation de Windows&amp;nbsp;qui fera partie de Windows "Longhorn" (prévu pour 2006).
   Ce qui est intéressant dans ce modèle, c'est qu'il&amp;nbsp;offre un modèle semblable
   à HTML, sauf qu'il est utilisable sur tout type de client, et que le code n'a pas
   a être mélangé dans le HTML (même plus que ce n'était le cas avec ASP.Net).
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; Le principe est très simple :
&lt;/p&gt;
&lt;ul dir=ltr&gt;
   &lt;li&gt;
      &lt;div&gt;&amp;nbsp;Le code déclaratif (XAML) permet&amp;nbsp; une utilisation très riche des possibilités
         graphgiques (contrôles, documents, médias, transparence, effets, animlations, transformations
         ..etc). il est donc possible de faire des designs impresionnant avec XAML (ce que
         Adobe a très vite compris et a commencé à préparer des applications de design basées
         sur XAML). Ce code sera utilisé par le compilateur comme une classe partielle complètée
         par le la classe qui est dans le code (sans avoir à ajouter des balises ou quoi que
         ce soit)
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;Le code fait en langage de développement qui constitue une classe partielle complétée
         par le XAML. 
      &lt;/div&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; Même si ce modèle fait partie de Windows Longhorn, on peut d'ors et déjà
   l'utiliser à travers les outils tels que Xamlon (interprétation du XAML&amp;nbsp;en runtime,
   et code behind&amp;nbsp;dans un&amp;nbsp;code séparé)&amp;nbsp;et les divers générateurs XAML
   qui permettent de transformer des documents Illustrator ou After Effect (ou autres)
   en XAML. Les résultats sont impéssioanants...
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=82c2b3a3-7d3b-4289-a7bb-1ee64b614280</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,82c2b3a3-7d3b-4289-a7bb-1ee64b614280.aspx</pingback:target>
      <dc:creator>malekblog@kemmou.com (Malek!)</dc:creator>
      <title>Globalization and getting the Months right (Arabic Morocco)</title>
      <guid>http://kemmou.com/PermaLink,guid,82c2b3a3-7d3b-4289-a7bb-1ee64b614280.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,82c2b3a3-7d3b-4289-a7bb-1ee64b614280.aspx</link>
      <pubDate>Thu, 01 Apr 2004 21:58:37 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   The follwing code is in C# (easy to convert to VB.Net)... Have fun :
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: Verdana"&gt;using&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt; System;&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;
   &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: Verdana"&gt;namespace&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt; Malek.Globalization&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;{&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; Summary
   description for CultureInfo.&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; CultureInfo
   : System.Globalization.CultureInfo&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang=FR style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana; mso-ansi-language: FR"&gt;{&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span lang=FR style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana; mso-ansi-language: FR"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; CultureInfo(&lt;span style="COLOR: blue"&gt;int&lt;/span&gt; culture)
   : &lt;span style="COLOR: blue"&gt;base&lt;/span&gt;(culture)&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span lang=FR style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana; mso-ansi-language: FR"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span lang=FR style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana; mso-ansi-language: FR"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;setValidDateTimeFormat();&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span lang=FR style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana; mso-ansi-language: FR"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span lang=FR style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana; mso-ansi-language: FR"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; CultureInfo(&lt;span style="COLOR: blue"&gt;int&lt;/span&gt; culture, &lt;span style="COLOR: blue"&gt;bool&lt;/span&gt; userOverride)
   : &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;base&lt;/span&gt;(culture,
   userOverride)&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span lang=FR style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana; mso-ansi-language: FR"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span lang=FR style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana; mso-ansi-language: FR"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;setValidDateTimeFormat();&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span lang=FR style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana; mso-ansi-language: FR"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span lang=FR style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana; mso-ansi-language: FR"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; CultureInfo(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; culture)
   : &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;base&lt;/span&gt;(culture)&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span lang=FR style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana; mso-ansi-language: FR"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span lang=FR style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana; mso-ansi-language: FR"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;setValidDateTimeFormat();&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span lang=FR style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana; mso-ansi-language: FR"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;}&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; CultureInfo(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; culture, &lt;span style="COLOR: blue"&gt;bool&lt;/span&gt; userOverride)
   : &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;base&lt;/span&gt;(culture,
   userOverride)&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;setValidDateTimeFormat();&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;
   &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; CultureInfo
   CreateSpecificCulture(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; culture)&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; CultureInfo(culture);&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: green; FONT-FAMILY: Verdana"&gt;//&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;private
   System.Globalization.DateTimeFormatInfo base.DateTimeFormat;&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: green; FONT-FAMILY: Verdana"&gt;
   &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;[]
   MoroccoMonthNames= &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;[]{"&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang=AR-SA dir=rtl style="FONT-SIZE: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;يناير&lt;/span&gt;&lt;/i&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;",
   "&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang=AR-SA dir=rtl style="FONT-SIZE: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;فبراير&lt;/span&gt;&lt;/i&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;","&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang=AR-SA dir=rtl style="FONT-SIZE: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;مارس&lt;/span&gt;&lt;/i&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;","&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang=AR-SA dir=rtl style="FONT-SIZE: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;أبريل&lt;/span&gt;&lt;/i&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;","&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang=AR-SA dir=rtl style="FONT-SIZE: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;ماي&lt;/span&gt;&lt;/i&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;","&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang=AR-SA dir=rtl style="FONT-SIZE: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;يونيو&lt;/span&gt;&lt;/i&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;","&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang=AR-SA dir=rtl style="FONT-SIZE: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;يوليوز&lt;/span&gt;&lt;/i&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;","&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang=AR-SA dir=rtl style="FONT-SIZE: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;غشت&lt;/span&gt;&lt;/i&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;","&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang=AR-SA dir=rtl style="FONT-SIZE: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;شتنبر&lt;/span&gt;&lt;/i&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;","&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang=AR-SA dir=rtl style="FONT-SIZE: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;أكتوبر&lt;/span&gt;&lt;/i&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;","&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang=AR-SA dir=rtl style="FONT-SIZE: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;نونبر&lt;/span&gt;&lt;/i&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;","&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang=AR-SA dir=rtl style="FONT-SIZE: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;دجنبر&lt;/span&gt;&lt;/i&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span dir=ltr&gt;&lt;/span&gt;&lt;span dir=ltr&gt;&lt;/span&gt;",""};&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;
   &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; setValidDateTimeFormat(){&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;if&lt;/span&gt; (Name.ToLower()=="ar-ma")&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;System.Globalization.DateTimeFormatInfo
   dtfi = (System.Globalization.DateTimeFormatInfo)&lt;span style="COLOR: blue"&gt;base&lt;/span&gt;.DateTimeFormat.Clone();&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;dtfi.MonthNames=MoroccoMonthNames;&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;dtfi.AbbreviatedMonthNames=MoroccoMonthNames;&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;dtfi.AbbreviatedDayNames=dtfi.DayNames;&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;dtfi.ShortDatePattern="dd/MM/yy";&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;dtfi.LongDatePattern="dddd
   dd MMMM yyyy";&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;DateTimeFormat=
   dtfi;&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;}&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;
   &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0in 0in 0pt"&gt;
   &lt;i&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana"&gt;
   &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;Csharp;main</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=3ac8ff91-6ba2-4bf6-8277-7f1ee54e8436</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,3ac8ff91-6ba2-4bf6-8277-7f1ee54e8436.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://weblogs.asp.net/danielfe">Dan Fernandez</a> and <a href="http://blogs.msdn.com/ericgu">Eric
      Gunnerson</a> from the C# team have both disclosed today in their blogs some
      of the latest changes that will be made to the C# language in its next version (part
      of Visual Studio 2005). It seems those changes are made for legal reason, to comply
      with the <a href="http://en.wikipedia.org/wiki/Federal_Computer_Language_Commission">FCLC</a> commission
      rules.
   </p>
        <p>
      While Dan <a href="http://weblogs.asp.net/danielfe/archive/2004/04/01/105653.aspx">speaks</a> about
      some of the System.String changes, Eric <a href="http://blogs.msdn.com/ericgu/archive/2004/04/01/105644.aspx">writes</a> about
      some of the keyword changes. While I love the new level of intimacy C# is getting
      into, I am afraid it will be quite difficult to migrate current code into the new
      version, and there will be no wizards nor clear migration path. Here are some examples
      of how current code translates to the new version :
   </p>
        <ul>
          <li>
         string str = "my 69 year old grand father" --&gt; [Decent, FCLCCompliant] string str
         = "my (d) 69 year old grand father"  //I used (d) instead the new decency
         symbol 
      </li>
          <li>
         the following code :</li>
        </ul>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
            <em>protected void Button1_Click(object sender, EventArgs e)</em>
          </p>
          <p>
            <em>{</em>
          </p>
          <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
            <p>
              <em>SqlCommand cmd = new SqlCommand("Select * from Users Where userName='"+textBox1.Text"'
      AND password='"+textBox2.Text+"'", myConnection);</em>
            </p>
            <em>
              <font size="3">
                <p>
      if (cmd.ExecuteReader().HasRows) authenticated=true;
   </p>
                <p>
      ...
   </p>
              </font>
            </em>
          </blockquote>
          <p dir="ltr">
            <em>}</em>
          </p>
          <p>
            <em>translates into something like :</em>
          </p>
          <p>
            <em>stupid dangerous void Button1_Click(object sender, EventArgs e)</em>
          </p>
          <p>
            <em>{</em>
          </p>
          <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
            <p>
              <em>[PtentialObsenity()]SqlCommand cmd = new SqlCommand("Select * from Users Where
      userName='"+textBox1.Text"' AND password='"+textBox2.Text+"'", myConnection);</em>
            </p>
            <em>
              <font size="3">
                <p>
      if (cmd.ExecuteReader().HasRows) authenticated=true;
   </p>
                <p>
      ...
   </p>
                <p>
      MessageBox.Show("April Fools, thanks for reading this far");
   </p>
              </font>
            </em>
          </blockquote>
          <p>
            <em>}</em>
          </p>
        </blockquote>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Changes to C# announced</title>
      <guid>http://kemmou.com/PermaLink,guid,3ac8ff91-6ba2-4bf6-8277-7f1ee54e8436.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,3ac8ff91-6ba2-4bf6-8277-7f1ee54e8436.aspx</link>
      <pubDate>Thu, 01 Apr 2004 21:15:45 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;a href="http://weblogs.asp.net/danielfe"&gt;Dan Fernandez&lt;/a&gt;&amp;nbsp;and &lt;a href="http://blogs.msdn.com/ericgu"&gt;Eric
   Gunnerson&lt;/a&gt;&amp;nbsp;from the C# team have both disclosed today in their blogs some
   of the latest changes that will be made to the C# language in its next version (part
   of Visual Studio 2005). It seems those changes are made for legal reason, to comply
   with the &lt;a href="http://en.wikipedia.org/wiki/Federal_Computer_Language_Commission"&gt;FCLC&lt;/a&gt;&amp;nbsp;commission
   rules.
&lt;/p&gt;
&lt;p&gt;
   While Dan &lt;a href="http://weblogs.asp.net/danielfe/archive/2004/04/01/105653.aspx"&gt;speaks&lt;/a&gt; about
   some of the System.String changes, Eric &lt;a href="http://blogs.msdn.com/ericgu/archive/2004/04/01/105644.aspx"&gt;writes&lt;/a&gt; about
   some of the keyword changes. While I love the new level of intimacy C# is getting
   into, I am afraid it will be quite difficult to migrate current code into the new
   version, and there will be no wizards nor clear migration path. Here are some examples
   of how current code translates to the new version :
&lt;/p&gt;
&lt;ul&gt;
   &lt;li&gt;
      string str = "my 69 year old grand father" --&amp;gt; [Decent, FCLCCompliant] string str
      = "my (d) 69 year old grand father"&amp;nbsp; //I used (d) instead&amp;nbsp;the new decency
      symbol 
   &lt;li&gt;
      the following code :&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
   &lt;em&gt;protected void Button1_Click(object sender, EventArgs e)&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;{&lt;/em&gt;
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
   &lt;em&gt;SqlCommand cmd = new SqlCommand("Select * from Users Where userName='"+textBox1.Text"'
   AND password='"+textBox2.Text+"'", myConnection);&lt;/em&gt;
&lt;/p&gt;
&lt;em&gt;&lt;font size=3&gt; 
&lt;p&gt;
   if (cmd.ExecuteReader().HasRows) authenticated=true;
&lt;/p&gt;
&lt;p&gt;
   ...
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr&gt;
   &gt;&gt;&lt;em&gt;}&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;translates into something like :&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;stupid dangerous void Button1_Click(object sender, EventArgs e)&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;{&lt;/em&gt;
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
   &lt;em&gt;[PtentialObsenity()]SqlCommand cmd = new SqlCommand("Select * from Users Where
   userName='"+textBox1.Text"' AND password='"+textBox2.Text+"'", myConnection);&lt;/em&gt;
&lt;/p&gt;
&lt;em&gt;&lt;font size=3&gt; 
&lt;p&gt;
   if (cmd.ExecuteReader().HasRows) authenticated=true;
&lt;/p&gt;
&lt;p&gt;
   ...
&lt;/p&gt;
&lt;p&gt;
   MessageBox.Show("April Fools, thanks for reading this far");
&lt;/p&gt;
&lt;/blockquote&gt;&gt;&gt; 
&lt;p&gt;
   &lt;em&gt;}&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;C#;main</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=865ef12c-60d0-484f-b626-5c5441f52288</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,865ef12c-60d0-484f-b626-5c5441f52288.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
          <a href="http://www.microsoft.com/northafrica/ndc">
            <img src="http://www.malekkemmou.ma/content/binary/NDC_promo.jpg" />
          </a>
        </p>
        <p dir="ltr">
       
   </p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p dir="ltr">
      The greatest yet... The <a href="http://www.microsoft.com/northafrica/ndc">North Africa
      Developer conference</a> this year features the future Microsoft technologies : Longhorn,
      Whidbey and Yukon, alongside the deep inside .Net development sessions covering most
      areas of interest for the developer, the software architect and the solutions decision
      maker... In this second edition of the NDC, we expect 1500 attendees at
      the 3 keynotes and 45 breakout sessions. Among the speakers, a strong <a href="http://www.microsoft.com/rd">Regional
      Directors</a> presence including :
   </p>
          <ul dir="ltr">
            <li>
              <div>
                <a href="http://staff.newtelligence.net/clemensv/">Clemens Vasters</a>
              </div>
            </li>
            <li>
              <div>
                <a href="http://www.hanselman.com/blog/">Scott Hanselman</a>
              </div>
            </li>
            <li>
              <div>
                <a href="http://www.stephenforte.net/owdasblog/">Stephen Forte</a>
              </div>
            </li>
            <li>
              <div>
                <a href="http://www.bewise.fr">Yann Faure</a>
              </div>
            </li>
            <li>
              <div>Andrew Brust
         </div>
            </li>
            <li>
              <div>
                <a href="http://weblogs.asp.net/sylvainduford">Sylvain Duford</a>
              </div>
            </li>
            <li>
              <div>
                <a href="http://www.ingorammer.com/weblog/">Ingo Rammer</a>
              </div>
            </li>
            <li>
              <div>
                <a href="http://www.octo.fr">Eric Groise</a>
              </div>
            </li>
            <li>
              <div>Goksin Bakir
         </div>
            </li>
            <li>
              <div>
                <a href="http://www.malekkemmou.ma/">Malek Kemmou</a>
              </div>
            </li>
          </ul>
        </blockquote>
        <p dir="ltr">
       
   </p>
        <p align="center">
          <font size="1">
            <span style="FONT-FAMILY: verdana">
              <font face="verdana" color="#3f80c0" size="3">
                <span class="DWtexte1">
                  <font face="Trebuchet MS" size="2">
                    <a href="javascript:popup('http://www.microsoft.com/northafrica/ndc/contact/Default.asp','form','610','680')">
                      <img height="59" src="http://www.microsoft.com/northafrica/ndc/images/btn_inscr.gif" width="120" border="0" />
                    </a>
                  </font>
                </span>
              </font>
            </span>
          </font>
        </p>
        <p>
       
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>NorthAfrica Developer Conference ... soon!!!</title>
      <guid>http://kemmou.com/PermaLink,guid,865ef12c-60d0-484f-b626-5c5441f52288.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,865ef12c-60d0-484f-b626-5c5441f52288.aspx</link>
      <pubDate>Fri, 12 Mar 2004 09:35:13 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &lt;a href="http://www.microsoft.com/northafrica/ndc"&gt;&lt;img src="http://www.malekkemmou.ma/content/binary/NDC_promo.jpg"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr&gt;
   The greatest yet... The &lt;a href="http://www.microsoft.com/northafrica/ndc"&gt;North Africa
   Developer conference&lt;/a&gt; this year features the future Microsoft technologies : Longhorn,
   Whidbey and Yukon, alongside the deep inside .Net development sessions covering most
   areas of interest for the developer, the software architect and the solutions decision
   maker... In this&amp;nbsp;second edition of the&amp;nbsp;NDC, we expect 1500 attendees at
   the 3 keynotes and 45 breakout sessions. Among the speakers, a strong &lt;a href="http://www.microsoft.com/rd"&gt;Regional
   Directors&lt;/a&gt;&amp;nbsp;presence including :
&lt;/p&gt;
&lt;ul dir=ltr&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;a href="http://staff.newtelligence.net/clemensv/"&gt;Clemens Vasters&lt;/a&gt;
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;a href="http://www.hanselman.com/blog/"&gt;Scott Hanselman&lt;/a&gt;
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;a href="http://www.stephenforte.net/owdasblog/"&gt;Stephen Forte&lt;/a&gt;
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;a href="http://www.bewise.fr"&gt;Yann Faure&lt;/a&gt;
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;Andrew Brust
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;a href="http://weblogs.asp.net/sylvainduford"&gt;Sylvain Duford&lt;/a&gt;
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;a href="http://www.ingorammer.com/weblog/"&gt;Ingo Rammer&lt;/a&gt;
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;a href="http://www.octo.fr"&gt;Eric Groise&lt;/a&gt;
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;Goksin Bakir
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;a href="http://www.malekkemmou.ma/"&gt;Malek Kemmou&lt;/a&gt;
      &lt;/div&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p align=center&gt;
   &lt;font size=1&gt;&lt;span style="FONT-FAMILY: verdana"&gt;&lt;font face=verdana color=#3f80c0 size=3&gt;&lt;span class=DWtexte1&gt;&lt;font face="Trebuchet MS" size=2&gt;&lt;a href="javascript:popup('http://www.microsoft.com/northafrica/ndc/contact/Default.asp','form','610','680')"&gt;&lt;img height=59 src="http://www.microsoft.com/northafrica/ndc/images/btn_inscr.gif" width=120 border=0&gt;&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;
&lt;/p&gt;
&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main;NDC</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=52164369-a69d-4b78-93c4-4b1efb0e96d0</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,52164369-a69d-4b78-93c4-4b1efb0e96d0.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
          <a href="http://www.devessentials.com/default.shtml"><img height="135" src="http://www.devessentials.com/images/devlogo2.gif" width="150" border="0" /></a></p>
        <p dir="ltr">
          When my friend and rock star speaker John Alexander told me that
      there was a <a href="http://www.devessentials.com">conference</a> on .Net in Kansas
      City in june, I didn't take a second before I wanted to be there ... So I return to
      the midwest as a conference speaker, after I left it when I was still a student
      13 years ago.
   </p>
        <p dir="ltr">
         As some may know, I have spent a few years in Wichita, Kansas during
      my university years, and driving the 3 hours I needed to get to KC was a weekend habit
      (Actualy, I used to drive to Lawrence, KS to visit some friends at Kansas University
      on saturdays, and usually party out there, before heading to KC in the morning to
      spend my day over at Worlds of Fun and Oceans of Fun). But since I left Wichita in
      1991, I have never been to any part of the Great Plains (except for about a week in
      Chicago in the 1996 - or was it 97 ?) ...
   </p>
        <p dir="ltr">
         Last week, one of my greatest friends (I call her my sister) that I have
      lost contact with for the last 12 years found me through google ... Off course lots
      of things happen in such a long time, and I am very happy to be able to see her.
   </p>
        <p dir="ltr">
          So, somehow, the midwest is calling ... 
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Going to Kansas City after 13 years ...</title>
      <guid>http://kemmou.com/PermaLink,guid,52164369-a69d-4b78-93c4-4b1efb0e96d0.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,52164369-a69d-4b78-93c4-4b1efb0e96d0.aspx</link>
      <pubDate>Tue, 09 Mar 2004 20:54:50 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.devessentials.com/default.shtml"&gt;&lt;img height=135 src="http://www.devessentials.com/images/devlogo2.gif" width=150 border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; When my friend and rock star speaker John Alexander told me&amp;nbsp;that
   there was a &lt;a href="http://www.devessentials.com"&gt;conference&lt;/a&gt; on .Net in Kansas
   City in june, I didn't take a second before I wanted to be there ... So I return to
   the midwest as a conference speaker, after I left it when I was&amp;nbsp;still a student
   13 years ago.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; As some may know, I have spent a few years in Wichita, Kansas during
   my university years, and driving the 3 hours I needed to get to KC was a weekend habit
   (Actualy, I used to drive to Lawrence, KS to visit some friends at Kansas University
   on saturdays, and usually party out there, before heading to KC in the morning to
   spend my day over at Worlds of Fun and Oceans of Fun). But since I left Wichita in
   1991, I have never been to any part of the Great Plains (except for about a week in
   Chicago in the 1996 - or was it 97 ?) ...
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; Last week, one of my greatest friends (I call her my sister) that I have
   lost contact with for the last 12 years found me through google ... Off course lots
   of things happen in such a long time, and I am very happy to be able to see her.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; &amp;nbsp;So, somehow, the midwest is calling ... 
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main;speaking</category>
    </item>
    <item xml:lang="fr">
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=eb5535e5-97e6-4a5c-9fcd-70fbeb8ec28e</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,eb5535e5-97e6-4a5c-9fcd-70fbeb8ec28e.aspx</pingback:target>
      <dc:creator />
      <title>North Africa Developer Conference</title>
      <guid>http://kemmou.com/PermaLink,guid,eb5535e5-97e6-4a5c-9fcd-70fbeb8ec28e.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,eb5535e5-97e6-4a5c-9fcd-70fbeb8ec28e.aspx</link>
      <pubDate>Mon, 01 Mar 2004 19:09:33 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &lt;a href="http://www.microsoft.com/northafrica/ndc"&gt;&lt;img src="http://www.malekkemmou.ma/content/binary/NDC_promo.jpg" border=0&gt;&lt;/a&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;
&lt;/p&gt;
&lt;p dir=ltr&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Qu'est ce que le &lt;a href="http://www.microsoft.com/northafrica/ndc"&gt;North
   Africa Developer Conference&lt;/a&gt; :&amp;nbsp;&lt;/strong&gt; 
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Le plus simple est de penser à la NDC comme un &lt;a href="http://www.microsoft.com/seminar/teched2004/default.mspx"&gt;TechEd&lt;/a&gt; ou
   une &lt;a href="http://msdn.microsoft.com/event/pdc"&gt;PDC&lt;/a&gt;, s'adressant essentiellement
   aux dévelopeurs, architectes de solutions et décideurs impliqués dans le développement...
   Ce n'est pas un OpenDoor ou un DevDays, car c'est un évènnement technique, et non
   pas marketing ... Ce n'est pas un évènnement ou Microsoft viens pour nous dire combien
   Windows 2003 est interessant (ou tout autre produit), mais un évènnement ou des experts
   viennent nous parler de comment techniquement on fait les choses avec les technologies
   Microsoft, quels sont les meilleures pratiques, ...etc.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; la NDC n'a rien à envier aux conférences mondiales telles que la
   PDC ou les TechEd, au moins pas au niveau de la richesse et de la profondeur du contenu,
   ni au niveau de l'expertise des speakers... La seule différence majeure est que la
   NDC comprend une cinquantaine de sessions, alors qu'une PDC en contient plus de 120
   ou 130, et une TechEd ne contient pas que du contenu développement, et donc contient
   quelque 60 sessions développement, mais baignés dans plus de 300 sessions couvrant
   aussi l'infrastructure, les produits de productivité, les produits serveurs, ...etc.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Ce qui s'est passé à la&amp;nbsp;NDC 2003 à Tunis en Juin 2003&lt;/strong&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Plus de 1200 perticipants (majorité venant de la Tunisie, mais
   une participation maghrébine non négligeable). Une quarantaine de sessions couvrant
   aussi bien les techniques de développement usuelles (développement ASP.NET, ADO.NET,
   WinForms, Web Services, Remoting, applications PocketPC / SmartPhone / TabletPC,&amp;nbsp;sites
   CMS, intégration à travers Biztalk, &amp;nbsp;...etc) que les thèmes plus approfondis
   comme les extension Web Services (WS-Transactions, WS-Security, ...etc), la programmation
   orientée aspect, l'architecture orientée service, le "Autonomus&amp;nbsp;comuting", les
   best practices&amp;nbsp;sur ADO.Net, la sécurité du code, ou plus pointus comme le "DataGrid
   Drill Down", ou le "DirectX managed" ... etc... 
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Qu'est ce qui est différent cette année à Casablanca&lt;/strong&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cette année, il y aura plus de sessions, plus de speakers
   de grande renomée, et surtout une partie importante sera dédiée aux technologies futures
   (ce qui donnera aux développeurs au Maroc une chance inédite pour en savoir plus sur
   les prochains outils de développement Microsoft qui portent le nom de code "Whidbey",
   le prochain SGBD de Microsoft qui porte le nom de code "Yukon", et le prochain Windows
   "Longhorn"), tout en traitant ces nouvelles technologies de façon très technique ...
   Ce qui permet aux participant de commencer à se préparer de façon concrete à l'arrivée
   de ces technologies.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Qui sont les speakers ?&lt;/strong&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Comme je ne peux parler que de ce que je sais, je vais donc citer
   juste ceux que je sait seront là (Inchallah) :
&lt;/p&gt;
&lt;ul dir=ltr&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;strong&gt;Andrew Brust&lt;/strong&gt; (Regional Director New York, grand spécialiste
         de OLAP et du "Business Intelligence")
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;strong&gt;&lt;a href="http://staff.newtelligence.net/clemensv/"&gt;Clemens Vasters&lt;/a&gt;&lt;/strong&gt; (Regional
         Director Allemagne, grand spécialiste de l'architecture orientée service, des Web
         Services, et des Enterprise Services)
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;strong&gt;Eric
         Groise&lt;/strong&gt; (&lt;font face="Times New Roman" size=3&gt;Regional Director &lt;/font&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;Paris,
         grand expert sur l'architecture des solutions d'entreprise)&lt;o:p&gt;&lt;/o:p&gt;
         &lt;/span&gt;&lt;/font&gt; 
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;strong&gt;Goksin
         Bakir&lt;/strong&gt; (&lt;font face="Times New Roman" size=3&gt;Regional Director &lt;/font&gt;MEA,
         grand spécialiste de sécurité et d'architecture)&lt;o:p&gt;&lt;/o:p&gt;
         &lt;/span&gt;&lt;/font&gt; 
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;strong&gt;&lt;a href="http://www.ingorammer.com/weblog"&gt;Ingo
         Rammer&lt;/a&gt;&lt;/strong&gt; (&lt;font face="Times New Roman" size=3&gt;Regional Director &lt;/font&gt;Austria,
         grand spécialiste du Remoting et des&amp;nbsp;Web Services)&lt;o:p&gt;&lt;/o:p&gt;
         &lt;/span&gt;&lt;/font&gt; 
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font face=Arial size=2&gt;&lt;span lang=DE style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;strong&gt;Pascal
         Belaud&lt;/strong&gt; (Microosft France, Division Développement, auteur de Olymars - outils
         de création rapide d'applications orientées données)&lt;o:p&gt;&lt;/o:p&gt;
         &lt;/span&gt;&lt;/font&gt; 
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;strong&gt;&lt;a href="http://www.hanselman.com/blog/"&gt;Scott
         Hanselmann&lt;/a&gt;&lt;/strong&gt; (&lt;font face="Times New Roman" size=3&gt;Regional Director &lt;/font&gt;Oregon,
         grand spécialiste des&amp;nbsp;Web Services, membre du Web Services Interoperability Organization,
         expert en E-Banking...etc.)&lt;o:p&gt;&lt;/o:p&gt;
         &lt;/span&gt;&lt;/font&gt; 
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;
         &lt;st1:PersonName style="BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: url(res://ietag.dll/#34/#1001); BACKGROUND-REPEAT: repeat-x" tabIndex=0 w:st="on"&gt;
            &lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;strong&gt;&lt;a href="http://www.stephenforte.net/owdasblog/"&gt;Stephen
            Forte&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/font&gt;
         &lt;/st1:PersonName&gt;
         &lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; (&lt;font face="Times New Roman" size=3&gt;Regional
         Director &lt;/font&gt;New York,&amp;nbsp;Grand spécialiste&amp;nbsp;SQL et grand spécialiste sur
         les applications mobiles sur PocketPC, SmartPhone, et téléphones - WAP, ...etc.)&lt;o:p&gt;&lt;/o:p&gt;
         &lt;/span&gt;&lt;/font&gt; 
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;
         &lt;st1:PersonName style="BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: url(res://ietag.dll/#34/#1001); BACKGROUND-REPEAT: repeat-x" tabIndex=0 w:st="on"&gt;
            &lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;strong&gt;&lt;a href="http://weblogs.asp.net/sylvainduford"&gt;Sylvain
            Duford&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/font&gt;
         &lt;/st1:PersonName&gt;
         &lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; (&lt;font face="Times New Roman" size=3&gt;Regional
         Director &lt;/font&gt;Quebec, grand spécialiste sur Biztalk, CMS, Commerce Server, ...etc)&lt;o:p&gt;&lt;/o:p&gt;
         &lt;/span&gt;&lt;/font&gt; 
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;
         &lt;st1:PersonName style="BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: url(res://ietag.dll/#34/#1001); BACKGROUND-REPEAT: repeat-x" tabIndex=0 w:st="on"&gt;
            &lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;strong&gt;Yann
            Faure&lt;/strong&gt;&lt;/span&gt;&lt;/font&gt;
         &lt;/st1:PersonName&gt;
         &lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; (&lt;font face="Times New Roman" size=3&gt;Regional
         Director &lt;/font&gt;Toulouse, meilleur speaker l'année dernière à Tunis, grand spécialiste
         de l'architecture des solutions d'entreprise, ASPNET, SQL, Web Services ...etc.)&lt;/span&gt;&lt;/font&gt;
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;J'aurais
         aussi l'honneur d'être parmi les speakers&lt;/span&gt;&lt;/font&gt;
      &lt;/div&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p class=MsoNormal style="mso-list: l2 level2 lfo3"&gt;
   &lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;/span&gt;&lt;/font&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   Pourquoi assister ?&lt;/strong&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Contrairement à tous les autres évènnements Microsoft dans la région,
   la NDC est vraiment une occasion de se former et d'apprendre. Il ne s'agit nullement
   de Marketing (les speakers ne sont pas là pour vous vendre un produit), mais d'une
   formation poussée et concentrée, ou on peut choisir ce qu'on veut à la carte...
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p align=center&gt;
   &lt;font size=1&gt;&lt;span style="FONT-FAMILY: verdana"&gt;&lt;font face=verdana color=#3f80c0 size=3&gt;&lt;span class=DWtexte1&gt;&lt;font face="Trebuchet MS" size=2&gt;&lt;a href="javascript:popup('http://www.microsoft.com/northafrica/ndc/contact/Default.asp','form','610','680')"&gt;&lt;img height=59 src="http://www.microsoft.com/northafrica/ndc/images/btn_inscr.gif" width=120 border=0&gt;&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;
&lt;/p&gt;
&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main;NDC;speaking</category>
    </item>
    <item xml:lang="fr">
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=39ad8518-1651-49d9-a117-271d2621b2b7</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,39ad8518-1651-49d9-a117-271d2621b2b7.aspx</pingback:target>
      <dc:creator />
      <title>Allocation mémoire non managée et VB.Net</title>
      <guid>http://kemmou.com/PermaLink,guid,39ad8518-1651-49d9-a117-271d2621b2b7.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,39ad8518-1651-49d9-a117-271d2621b2b7.aspx</link>
      <pubDate>Sun, 22 Feb 2004 20:36:10 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; Une des principales différences (telle que décrites le plus souvent)
   entre VB.Net et C# est que C# supporte le code "unsafe" alors que VB.Net ne le supporte
   pas.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; C'est quoi finalement du code "unsafe" ? j'avais &lt;a href="http://www.malekkemmou.ma/PermaLink.aspx?guid=eb8b59f0-4239-4821-a604-5cdb167bde2c"&gt;parlé&lt;/a&gt; de
   cette question dans des termes relativement génériques dans la catégorie Trivia (article
   était en anglais). Il s'agit de pouvoir faire de l'allocation mémoire dans le tas
   non géré (pas sous garbage collector) et puis de faire interagir ces objets avec les
   objets qui résident dans le tas géré (sous contrôle du CLR - garbage collector). Pourquoi
   "unsafe" (dangereux), tout simplement parce que il n'y a pas de vérification de type,
   de gestion de durée de vie...etc. Ce qui expose aux fuites mémoire, au "Buffer&amp;nbsp;overrun",
   ...etc.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Parfois, il est utile de pouvoir&amp;nbsp;gérer sa mémoire (pour des
   raisons de performance ou simplement d'accès à&amp;nbsp;des&amp;nbsp;APIs natives).
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Si VB.Net ne donne pas de façon "simple" (dans sa propre syntaxe)
   de faire cela, il n'est pas trop difficile de le faire tout de même à travers les
   appels de plateforme ... Cela ne résoudra peut être pas les cas ou on a besoin de
   code "unsafe" pour raisons de performance, mais cela permet de faire appel à des APIs
   natives en leurs passant des structures ou des objets qui leurs sont accessibles et
   qui ne sont pas nécessairement supportées en standard par le Marshalling de l'interop.&amp;nbsp;&amp;nbsp;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; par exemple, on peut allouer de la mémoire en utilisant LocalAlloc (le
   tas par défaut du processus):
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr&gt;
   &lt;font face="Times New Roman,Times,Serif" size=2&gt;&amp;lt;DllImport("Kernel32.dll", SetLastError:=&lt;font color=#0000ff&gt;True&lt;/font&gt;)&amp;gt;
   _&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;font face="Times New Roman,Times,Serif"&gt;&lt;font size=2&gt;&lt;font color=#0000ff&gt;Public&lt;/font&gt; &lt;font color=#0000ff&gt;Shared&lt;/font&gt; &lt;font color=#0000ff&gt;Function&lt;/font&gt; LocalAlloc(&lt;font color=#0000ff&gt;ByVal&lt;/font&gt; uFlags &lt;font color=#0000ff&gt;As&lt;/font&gt; System.Int32, &lt;font color=#0000ff&gt;ByVal&lt;/font&gt; uBytes &lt;font color=#0000ff&gt;As&lt;/font&gt; System.Int32) &lt;font color=#0000ff&gt;As&lt;/font&gt; IntPtr&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font size=2&gt;&lt;font color=#0000ff&gt;End&lt;/font&gt; &lt;font color=#0000ff&gt;Function&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;font color=#0000ff size=2&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;Public&lt;/font&gt; &lt;font color=#0000ff&gt;Shared&lt;/font&gt; &lt;font color=#0000ff&gt;Function&lt;/font&gt; Allouer(&lt;font color=#0000ff&gt;ByVal&lt;/font&gt; nbre_Octets &lt;font color=#0000ff&gt;As&lt;/font&gt; Int32) &lt;font color=#0000ff&gt;As&lt;/font&gt; IntPtr&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   Dim&lt;/font&gt; pointeur &lt;font color=#0000ff&gt;As&lt;/font&gt; IntPtr = LocalAlloc(memoire_figée_initialisée_àzéro,
   nbre_Octets)&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   &amp;nbsp;If&lt;/font&gt; pointeur.ToInt32 = 0 &lt;font color=#0000ff&gt;Then&lt;/font&gt; &lt;font color=#0000ff&gt;Throw&lt;/font&gt; &lt;font color=#0000ff&gt;New&lt;/font&gt; OutOfMemoryException&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;&amp;nbsp;&amp;nbsp;
   &amp;nbsp; Return&lt;/font&gt; pointeur&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;End&lt;/font&gt; &lt;font color=#0000ff&gt;Function&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font size=+0&gt;&lt;font color=#000000 size=3&gt;Pour
   copier des données dans cet espace alloué :
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;Public&lt;/font&gt; &lt;font color=#0000ff&gt;Shared&lt;/font&gt; &lt;font color=#0000ff&gt;Function&lt;/font&gt; CopierOctets(&lt;font color=#0000ff&gt;ByVal&lt;/font&gt; Octets &lt;font color=#0000ff&gt;As&lt;/font&gt; &lt;font color=#0000ff&gt;Byte&lt;/font&gt;()) &lt;font color=#0000ff&gt;As&lt;/font&gt; IntPtr&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;If&lt;/font&gt; Octets &lt;font color=#0000ff&gt;Is&lt;/font&gt; &lt;font color=#0000ff&gt;Nothing&lt;/font&gt; &lt;font color=#0000ff&gt;Then
&lt;/p&gt;
&gt;&gt;&gt; &lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;Return&lt;/font&gt; IntPtr.Zero&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr&gt;
   &lt;font color=#0000ff&gt;&lt;font face="Times New Roman,Times,Serif" size=2&gt;Else&lt;/font&gt;
&lt;/p&gt;
&gt; &lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;Dim&lt;/font&gt; len &lt;font color=#0000ff&gt;As&lt;/font&gt; &lt;font color=#0000ff&gt;Integer&lt;/font&gt; =
   Octets.Length&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;Dim&lt;/font&gt; pointeur &lt;font color=#0000ff&gt;As&lt;/font&gt; IntPtr
   = Allouer(len)&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;If&lt;/font&gt; pointeur.ToInt32
   = 0 &lt;font color=#0000ff&gt;Then
&lt;/p&gt;
&gt;&gt;&gt; &lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;Throw&lt;/font&gt; &lt;font color=#0000ff&gt;New&lt;/font&gt; OutOfMemoryException&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr&gt;
   &lt;font color=#0000ff&gt;&lt;font face="Times New Roman,Times,Serif" size=2&gt;Else&lt;/font&gt;
&lt;/p&gt;
&gt; &lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr&gt;
   &lt;font face="Times New Roman,Times,Serif" size=2&gt;Marshal.Copy(Octets, 0, pointeur,
   len)&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;Return&lt;/font&gt; pointeur&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;End&lt;/font&gt; &lt;font color=#0000ff&gt;If
&lt;/p&gt;
&lt;/blockquote&gt;&gt;&gt;&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;End&lt;/font&gt; &lt;font color=#0000ff&gt;If
&lt;/p&gt;
&lt;/blockquote&gt;&gt;&gt;&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face="Times New Roman,Times,Serif"&gt;&lt;font color=#0000ff&gt;End&lt;/font&gt; &lt;font color=#0000ff&gt;Function
&lt;/p&gt;
&lt;/blockquote&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&lt;font color=#0000ff&gt;&lt;font color=#0000ff&gt; 
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &lt;font color=#0000ff&gt;&lt;font color=#000000&gt;Pour liberer la mémoire:
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font color=#0000ff&gt;Public&lt;/font&gt; &lt;font color=#0000ff&gt;Shared&lt;/font&gt; &lt;font color=#0000ff&gt;Sub&lt;/font&gt; Liberer(&lt;font color=#0000ff&gt;ByVal&lt;/font&gt; pointeurMemoire &lt;font color=#0000ff&gt;As&lt;/font&gt; IntPtr)&lt;/font&gt;
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font color=#0000ff&gt;If&lt;/font&gt; pointeurMemoire.ToInt32 &amp;lt;&amp;gt; 0 &lt;font color=#0000ff&gt;Then
&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt; &lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font color=#0000ff&gt;If&lt;/font&gt; LocalFree(pointeurMemoire).ToInt32 &amp;lt;&amp;gt;
   0 &lt;font color=#0000ff&gt;Then
&lt;/p&gt;
&gt;&gt; &lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font color=#0000ff&gt;Throw&lt;/font&gt; &lt;font color=#0000ff&gt;New&lt;/font&gt; System.ComponentModel.Win32Exception(Marshal.GetLastWin32Error())&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font color=#0000ff&gt;End&lt;/font&gt; &lt;font color=#0000ff&gt;If
&lt;/p&gt;
&gt;&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;pointeurMemoire = IntPtr.Zero&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font color=#0000ff&gt;End&lt;/font&gt; &lt;font color=#0000ff&gt;If
&lt;/p&gt;
&gt;&gt;&gt; 
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font color=#0000ff&gt;End&lt;/font&gt; &lt;font color=#0000ff&gt;Sub
&lt;/p&gt;
&gt;&gt;&gt;&gt;&gt;&lt;font color=#0000ff&gt;&lt;font color=#0000ff&gt; 
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;/font&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; On peut utiliser de la même manière
les autres API d'allocation mémoire telles que HeapAlloc&amp;nbsp;(seule différence, on
spécifie dans quel tas on veut allouer, écrire ou libérer)&amp;nbsp;... En créant une
bibliothèque complète pour l'allocation, la copie, le stockage de données, la libération,
la réallocation, ...etc., on peut avoir une fonctionalité presque similaire au code
unsafe (totallement différente dans le code généré, sans aucun rapport en terme de
performance, mais utilisable presque avec le même psoeudo code ... En tout cas, on
peut créer les mêmes problèmes de fuites mémoire, de buffer overrun, et tout le reste
de ces merveilles qui cassent notre code et y placent des vulnérabilités de première
classe ...)&lt;/font&gt;&lt;font color=#0000ff&gt;&gt;
&lt;/font&gt;&lt;/font&gt;&gt;&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net</category>
    </item>
    <item xml:lang="fr">
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=3ec0f82f-9134-48c4-aa12-982d817b72f5</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,3ec0f82f-9134-48c4-aa12-982d817b72f5.aspx</pingback:target>
      <dc:creator />
      <title>RE: Streaming vers une application (en français cette fois)</title>
      <guid>http://kemmou.com/PermaLink,guid,3ec0f82f-9134-48c4-aa12-982d817b72f5.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,3ec0f82f-9134-48c4-aa12-982d817b72f5.aspx</link>
      <pubDate>Fri, 20 Feb 2004 20:03:26 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; Une chose simple que j'ai traité aujourd'hui&amp;nbsp; [c'était le 12 janvier](pour
   résoudre un problème rencontré par deux copains), est de streamer un pdf dynamiquement
   généré - ou autre type de fichier - vers l'utilisateur sans stocker dans le système
   de fichier.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; Il est très simple de modifier l'entête&amp;nbsp;(essentiellement le content-type),
   suprimer tout ce qui n'est pas voulu de l'entête et contenu http de la réponse (Response.Clear()
   ) pour que le HTML généré par l'ASPNET ne corrompt pas le fichier pdf, et le tour
   est joué...
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Le problème est quand l'utilisateur n'a pas de plug-in de lecteur
   pdf installé dans son navigateur (plug-inacrobat reader). Alors, le navigateur propose
   de sauvegarder le fichier, et le nom de fichier est celui d'un fichier .aspx (ou tout
   autre type de page coté serveur utilisé), puisque c'est ce que l'utilisateur a fait
   une requête vers une page&amp;nbsp;Asp.Net ...
&lt;/p&gt;
&lt;p dir=ltr&gt;
   Pour gérer cette situation, il y a un moyen simple (utilisez le commentaire si vous
   pensez que cela est complexe)&amp;nbsp;:
&lt;/p&gt;
&lt;ul dir=ltr&gt;
   &lt;li&gt;
      &lt;p&gt;
         Mapper l'extension pdf vers le moteur&amp;nbsp;ASP.Net : dans IIS, dans la configuration
         de l'application ajouter l'extension .pdf comme utilisant l'exécutable &lt;font size=2&gt;&lt;font face=Arial&gt;C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll, &lt;/font&gt;&lt;font face="Times New Roman,Times,Serif" size=3&gt;comme
         cela apparait sur l'image suivante&lt;/font&gt;&lt;/font&gt;
      &lt;/p&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face=Arial&gt;&lt;img src="http://www.malekkemmou.ma/content/binary/extension%20mapping.JPG" border=0&gt;&lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
   &lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face=Arial&gt;&lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;
   &lt;o:p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ceci, en soit peut résoudre le problème, mais va vous forcer à avoir une extension très peu élégante pour votre page ASPNET ... cette solution non élégante est de renommer votre page ;aspx en .pdf ... Une solution plus élégante est d'utiliser un httpHandler, comme détaillé dans les deux points qui suivent :&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;ul dir=ltr&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font size=2&gt;&lt;font face=Arial&gt;
         &lt;o:p&gt;&lt;/o:p&gt;
         &lt;/font&gt;&lt;/font&gt;&amp;nbsp;Créez un HttpHandler, qui génère le pdf. ce handler peut récupérer
         les paramètres de requête ou de formulaire, génèrer le pdf, puis streamer vers le
         client. Le code qui ferait cette tâche est illustré dans ici :
      &lt;/div&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 0.5in"&gt;
   &lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;namespace&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; Malek.Utils{&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;
   &lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; PdfFileHandler
   : IHttpHandler {&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; ProcessRequest(HttpContext
   context) {&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;
   &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;if&lt;/span&gt; (context.Request.RawUrl.ToLower().EndsWith(".pdf"))&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   {&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=#006400&gt;//
   ici va le code aui génère le pdf&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   context.Response.ClearHeaders();&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   context.Response.ClearContent();&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;context.Response.ContentType="Application/pdf"; 
   &lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;context.Response.OutputStream.Write(&lt;/span&gt;&lt;/font&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;content,
   0, &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   content.Length);&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   context.Response.End();&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;}&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   }&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;}&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 0.5in"&gt;
   &lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;}&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 0.5in"&gt;
   &lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Arial&gt;La
   dll générée en compilant ce code a besoin d'être placée dans le répertoire bin de
   l'application ASPNET&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;ul dir=ltr&gt;
   &lt;li&gt;
      Ajouter ce qui suit au fichier de configuration pour orienter les appels vers des
      .pdf vers votre handler :&lt;/li&gt;
&lt;/ul&gt;
&lt;p dir=ltr&gt;
   &lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   &amp;lt;&lt;font face="Courier New" color=maroon size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;configuration&lt;/span&gt;&lt;/font&gt;&lt;font face="Courier New" color=blue size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&amp;lt;&lt;font color=#a52a2a&gt;system.web&lt;/font&gt;&lt;font face="Courier New" color=blue size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;font face="Courier New" color=maroon size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;httpHandlers&lt;/span&gt;&lt;/font&gt;&lt;font face="Courier New" color=blue size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr&gt;
   &lt;font face="Courier New" size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;/font&gt;&lt;font color=maroon&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt;&lt;/font&gt;&lt;font color=fuchsia&gt;&lt;span style="COLOR: fuchsia"&gt; &lt;/span&gt;&lt;/font&gt;&lt;font color=red&gt;&lt;span style="COLOR: red"&gt;verb&lt;/span&gt;&lt;/font&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;="*"&lt;/span&gt;&lt;/font&gt;&lt;font color=fuchsia&gt;&lt;span style="COLOR: fuchsia"&gt; &lt;/span&gt;&lt;/font&gt;&lt;font color=red&gt;&lt;span style="COLOR: red"&gt;path&lt;/span&gt;&lt;/font&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;="*.pdf"&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr&gt;
   &lt;font face="Courier New" color=fuchsia size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: fuchsia; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Courier New" color=red size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;type&lt;/span&gt;&lt;/font&gt;&lt;font face="Courier New" color=blue size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;="Malek.Utils.PdfHandler,
   PdfHandler"&lt;/span&gt;&lt;/font&gt;&lt;font face="Courier New" color=fuchsia size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: fuchsia; FONT-FAMILY: 'Courier New'"&gt; &lt;/span&gt;&lt;/font&gt;&lt;font face="Courier New" color=blue size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr&gt;
   &lt;font face="Courier New" size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;/font&gt;&lt;font color=maroon&gt;&lt;span style="COLOR: maroon"&gt;httpHandlers&lt;/span&gt;&lt;/font&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr&gt;
   &lt;font face="Courier New" size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=#0000ff size=2&gt;&amp;lt;!&lt;/font&gt;&lt;font color=#008000 size=2&gt;--
   rest of the config file --&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;gt;
&lt;/p&gt;
&gt;&gt;&gt;&gt;&gt; 
&lt;p class=MsoNormal dir=ltr&gt;
   &lt;font face="Courier New" size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;
   &lt;o:p&gt;
      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font color=#000000&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;/font&gt;&lt;font color=maroon&gt;&lt;span style="COLOR: maroon"&gt;system.web&lt;/span&gt;&lt;/font&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
   &lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr&gt;
   &lt;font face="Courier New" size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;
   &lt;o:p&gt;
      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;font color=maroon&gt;&lt;span style="COLOR: maroon"&gt;configuration&lt;/span&gt;&lt;/font&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
   &lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;C#</category>
    </item>
    <item xml:lang="fr">
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=ae826760-4ff2-498e-ab26-65816eab37d9</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,ae826760-4ff2-498e-ab26-65816eab37d9.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
         Si les Web Services nous ont rendu la vie plus facile, il n'en reste
      pas moins que seule une bonne approche permet de réellement réussir l'interopéropérabilité.
      Des problème simples peuvent rendre un Web Service beaucoup moins interopérable que
      l'on ne l'aurais prévu... par exemple, renvoyer un DataSet non typé peut casser toute
      logique d'intégration (car rares sont les plateformes capables de générer à la volée
      un objet à partir d'un schéma XSD durant l'éxécution, et d'en sortir quelque chose
      d'intelligible - qui ressemble à un DataSet - sauf si on intervient au niveau du proxy
      pour mettre en place une logique de traduction en un format dynamique utilisable -
      et même cela n'est pas toujours très utile pour la suite du traitement...). J'ai vu
      dernièrement un cas où le simple renvoi d'un tableau d'objets très simples renvoyé
      par un Web Service écrit sur Websphère Studio posait pour la génération de proxies
      sur .Net ... le format de la sérialisation faisait que dans le corps du SOAP, il n'y
      avait plus d'élément racine (ce qui est une interprétation légitime de ce qu'est un
      tableau - une simple séquence d'éléments...)
   </p>
        <p>
         Une façon de dépasser ce genre de problème est de penser que finalement,
      ce que l'on recherche, c'est de baser les échanges sur des messages, et donc sur un
      contrat qui spécifie les formats, le transport et les destinations ... c'est à dire
      sur le WSDL ... Dès que l'on pose le problème ainsi, on voit que l'approche de créer
      un service et de le laisser générer son WSDL n'est pas la bonne, mais plutôt de créer
      (ou générer) un WSDL (le contrat), puis de l'implémenter ...
   </p>
        <p>
          A partir du WSDL (qui devrait donc respecter le fait que l'échange
      comprend un message/document puis un message de réponse), on peut facilement générer
      une interface/classe abstraite (dans .Net Frameword SDK ou outils Visual Studio :
      utilitaire wsdl.exe avec option /server). 
   </p>
        <p>
         Une fois l'interface faite, on a la garantie de respect de contrat, et
      on n'a plus qu'à créer une classe qui implémente cette interface et qui servira d'implémentation
      pour notre Web Service ...
   </p>
        <p>
         Coté client, il suffira de générer le proxy (qui dans tout outil réellement
      fait pour les Web Services, va nous générer des objets à partir des formats/schémas
      des messages inclus dans le WSDL). On se retrouve donc avec des objets intelligibles
      (dans .Net, les schémas sont rapatriés, et souvent, on peut en créer des DataSet,
      et simplement caster le type de renvoi dans les méthodes du proxy vers le type du
      dataSet, et on se retrouve avec toute la richesse des laison de données dans notre
      couche présentation...)
   </p>
        <p>
       
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>approche contrat pour garantir l'interopérabilité des Web Services</title>
      <guid>http://kemmou.com/PermaLink,guid,ae826760-4ff2-498e-ab26-65816eab37d9.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,ae826760-4ff2-498e-ab26-65816eab37d9.aspx</link>
      <pubDate>Fri, 20 Feb 2004 15:24:33 GMT</pubDate>
      <description>&lt;p&gt;
   &amp;nbsp;&amp;nbsp; Si les Web Services nous ont rendu la vie plus facile, il n'en reste
   pas moins que seule une bonne approche permet de réellement réussir l'interopéropérabilité.
   Des problème simples peuvent rendre un Web Service beaucoup moins interopérable que
   l'on ne l'aurais prévu... par exemple, renvoyer un DataSet non typé peut casser toute
   logique d'intégration (car rares sont les plateformes capables de générer à la volée
   un objet à partir d'un schéma XSD durant l'éxécution, et d'en sortir quelque chose
   d'intelligible - qui ressemble à un DataSet - sauf si on intervient au niveau du proxy
   pour mettre en place une logique de traduction en un format dynamique utilisable -
   et même cela n'est pas toujours très utile pour la suite du traitement...). J'ai vu
   dernièrement un cas où le simple renvoi d'un tableau d'objets très simples renvoyé
   par un Web Service écrit sur Websphère Studio posait pour la génération de proxies
   sur .Net ... le format de la sérialisation faisait que dans le corps du SOAP, il n'y
   avait plus d'élément racine (ce qui est une interprétation légitime de ce qu'est un
   tableau - une simple séquence d'éléments...)
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; Une façon de dépasser ce genre de problème est de penser que finalement,
   ce que l'on recherche, c'est de baser les échanges sur des messages, et donc sur un
   contrat qui spécifie les formats, le transport et les destinations ... c'est à dire
   sur le WSDL ... Dès que l'on pose le problème ainsi, on voit que l'approche de créer
   un service et de le laisser générer son WSDL n'est pas la bonne, mais plutôt de créer
   (ou générer) un WSDL (le contrat), puis de l'implémenter ...
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; A partir du WSDL (qui devrait donc respecter le fait que l'échange
   comprend un message/document puis un message de réponse), on peut facilement générer
   une interface/classe abstraite (dans .Net Frameword SDK ou outils Visual Studio :
   utilitaire wsdl.exe avec option /server). 
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; Une fois l'interface faite, on a la garantie de respect de contrat, et
   on n'a plus qu'à créer une classe qui implémente cette interface et qui servira d'implémentation
   pour notre Web Service ...
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; Coté client, il suffira de générer le proxy (qui dans tout outil réellement
   fait pour les Web Services, va nous générer des objets à partir des formats/schémas
   des messages inclus dans le WSDL). On se retrouve donc avec des objets intelligibles
   (dans .Net, les schémas sont rapatriés, et souvent, on peut en créer des DataSet,
   et simplement caster le type de renvoi dans les méthodes du proxy vers le type du
   dataSet, et on se retrouve avec toute la richesse des laison de données dans notre
   couche présentation...)
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net</category>
    </item>
    <item xml:lang="fr">
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=782eb92c-55a4-4770-bdf7-e630038ee2e0</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,782eb92c-55a4-4770-bdf7-e630038ee2e0.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
          Mono est  une implémentation Open Source de la Common Language
      Infrastructure (communément appelée .Net) par la société Ximian. Cette implémentation
      s'adresse aussi bien à Unix et Linux qu'à Windows (en tant qu'alternative à Microsoft.Net).
   </p>
        <p dir="ltr">
          Aujourd'hui, <a href="http://www.menara.ma">Youness Habibi</a> de
      Casanet va nous présenter, dan le cadre du <a href="http://groups.yahoo.com/group/MugNet">"Morocco
      .Net User Group (MugNet)",</a> le projet Mono, ainsi que la portabilité du code
      compilé entre Microsoft .Net et Mono...
   </p>
        <p dir="ltr">
          La rencontre se passe au siège de Casanet au Technopark Casablanca, 8ème
      étage, à coté de Marjane Californie, à 16h.
   </p>
        <p dir="ltr">
         Tous le monde sera le bien venu.
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Rencontre MugNet Aujourd'hui sur "Mono"</title>
      <guid>http://kemmou.com/PermaLink,guid,782eb92c-55a4-4770-bdf7-e630038ee2e0.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,782eb92c-55a4-4770-bdf7-e630038ee2e0.aspx</link>
      <pubDate>Sun, 15 Feb 2004 06:39:51 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Mono est&amp;nbsp; une implémentation Open Source de la Common Language
   Infrastructure (communément appelée .Net) par la société Ximian. Cette implémentation
   s'adresse aussi bien à Unix et Linux qu'à Windows (en tant qu'alternative à Microsoft.Net).
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Aujourd'hui, &lt;a href="http://www.menara.ma"&gt;Youness Habibi&lt;/a&gt; de
   Casanet va nous présenter, dan le cadre du&amp;nbsp;&lt;a href="http://groups.yahoo.com/group/MugNet"&gt;"Morocco
   .Net User Group (MugNet)",&lt;/a&gt; le projet&amp;nbsp;Mono, ainsi que la portabilité du code
   compilé entre Microsoft .Net et Mono...
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; La rencontre se passe au siège de Casanet au Technopark Casablanca,&amp;nbsp;8ème
   étage, à coté de Marjane Californie, à 16h.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;&amp;nbsp; Tous le monde sera le bien venu.
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;Ineta/MUGNET</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=f479637b-85d4-4b69-9049-52d47a198872</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,f479637b-85d4-4b69-9049-52d47a198872.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
      I really like it, but I hate Red Hat...
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Mono is great! </title>
      <guid>http://kemmou.com/PermaLink,guid,f479637b-85d4-4b69-9049-52d47a198872.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,f479637b-85d4-4b69-9049-52d47a198872.aspx</link>
      <pubDate>Sun, 15 Feb 2004 01:36:50 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   I really like it, but I hate Red Hat...
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;Linux;main</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=0d9501e9-8977-4e24-9518-51d34ea91a71</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,0d9501e9-8977-4e24-9518-51d34ea91a71.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          Although I had followed the mono project (Ximian's implementation
      of the CLI), and even talked about it in short words many times, I finally made my
      mind to really see it...
   </p>
        <p>
          Actually, I didn't just think I should do it, but it was in preparation
      for a talk that <a href="http://www.menara.ma">Youness Habibi</a> will do for the <a href="http://groups.yahoo.com/group/MugNet">Morocco
      .Net User Group</a>, and I had promised to assist him (as if I had any idea about
      it)...
   </p>
        <p>
         It was quite an experience, and actually we were helped by Mr. Lebbadi
      of Atrait for compiling and configuring mono(A nice Linux guy, who didn't even say
      anything harsh to me - except mybe saying something in this line : are you as open
      to others as Microsoft). That help was crucial, for neither I nor Youness had ever
      really touched a Linux beyond the user interface and maybe some "vi"...
   </p>
        <p>
         Well, how happy we were when the hello world "mono style" worked and
      we had that "mono:: is alive and well..." on the screen. That was only few minutes
      after Morocco's victory in the mid-final African Soccer Cup, and Casablanca was going
      wild ... Still, we almost topped the cround's noise when we were rejoicing after we
      copied the .exe to windows and it worked...
   </p>
        <p>
         Tomorrow, we are going to start doing some serious tests on mono : (Data,
      Web Wervices, WebForms, WinForms...)... Long live the world of portable .Net IL ... 
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>mono:: is alive and well...</title>
      <guid>http://kemmou.com/PermaLink,guid,0d9501e9-8977-4e24-9518-51d34ea91a71.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,0d9501e9-8977-4e24-9518-51d34ea91a71.aspx</link>
      <pubDate>Thu, 12 Feb 2004 03:35:33 GMT</pubDate>
      <description>&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Although I had followed the mono project (Ximian's implementation
   of the CLI), and even talked about it in short words many times, I finally made my
   mind to really see it...
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Actually, I didn't just think I should do it, but it was in preparation
   for a talk that &lt;a href="http://www.menara.ma"&gt;Youness Habibi&lt;/a&gt; will do for the &lt;a href="http://groups.yahoo.com/group/MugNet"&gt;Morocco
   .Net User Group&lt;/a&gt;, and I had promised to assist him (as if I had any idea about
   it)...
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; It was quite an experience, and actually we were helped by Mr. Lebbadi
   of Atrait for compiling and configuring mono(A nice Linux guy, who didn't even say
   anything harsh to me - except mybe saying something in this line : are you as open
   to others as Microsoft). That help was crucial, for neither I nor Youness had ever
   really touched a Linux beyond the user interface and maybe some "vi"...
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; Well, how happy we were when the hello world "mono style" worked and
   we had that "mono:: is alive and well..." on the screen. That was only few minutes
   after Morocco's victory in the mid-final African Soccer Cup, and Casablanca was going
   wild ... Still, we almost topped the cround's noise when we were rejoicing after we
   copied the .exe to windows and it worked...
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp; Tomorrow, we are going to start doing some serious tests on mono : (Data,
   Web Wervices, WebForms, WinForms...)... Long live the world of portable .Net IL ... 
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;Ineta/MUGNET;main</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=eb8b59f0-4239-4821-a604-5cdb167bde2c</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,eb8b59f0-4239-4821-a604-5cdb167bde2c.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
      Can memery allocation (non garbage collected) be done with VB .Net ?
   </p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p dir="ltr">
            <strong>Regular answer : </strong>No. C# can do unsafe (non garbage collected) code,
      and VB.Net cannot
   </p>
          <p dir="ltr">
            <strong>Hideous Answer :</strong> Well, yes it is far from being Elegant, but as my
      good friend and impressively clever RD <a href="http://staff.newtelligence.net/clemensv">Clemens</a> once
      told me in the middle of a discussion on .Net vs. COM : "There can be no purity in
      software development". So here it is :
   </p>
          <p dir="ltr" style="MARGIN-RIGHT: 0px">
          There is full set of Memory management APIs (<a href="http://msdn.microsoft.com/library/en-us/memory/base/memory_management_reference.asp">http://msdn.microsoft.com/library/en-us/memory/base/memory_management_reference.asp</a>)
      that can be used to do memory alocation (both on the heap and on the stack), copy
      memory, get a handle to allocated memory, ...etc.
   </p>
          <p dir="ltr" style="MARGIN-RIGHT: 0px">
          VB can do PInvoke ...
   </p>
          <p dir="ltr" style="MARGIN-RIGHT: 0px">
         PInvoking into Kernel32.dll (or Coredll.dll in Windows Mobile) makes
      VB capable of dealing with such issues... which is only usefull in very special cases
      (using other APIs accessible through PInvoke and making sure there is no garbage collection
      on the arguments passed to the native APIs is the only use I ever needed them for
      - and only because I had to show VB.Net code (besides C# code) in presentations ...).
   </p>
          <p dir="ltr" style="MARGIN-RIGHT: 0px">
         It is not very hard to wrap those calls into some Utility class, and
      then use it for allocating memory and geting the handles to the objects, which can
      easily make the code somewhat more elegant ...
   </p>
          <p dir="ltr" style="MARGIN-RIGHT: 0px">
         Example (MSDN Article by Derek Mitchell) : 
   </p>
          <p dir="ltr" style="MARGIN-RIGHT: 0px">
            <a href="http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfphoneapi.asp">http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfphoneapi.asp</a>
          </p>
          <p dir="ltr" style="MARGIN-RIGHT: 0px">
         Have Fun ...
   </p>
          <p dir="ltr" style="MARGIN-RIGHT: 0px">
       
   </p>
        </blockquote>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Trivia Answer : Memory allocation management in VB.Net</title>
      <guid>http://kemmou.com/PermaLink,guid,eb8b59f0-4239-4821-a604-5cdb167bde2c.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,eb8b59f0-4239-4821-a604-5cdb167bde2c.aspx</link>
      <pubDate>Wed, 04 Feb 2004 13:39:07 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   Can&amp;nbsp;memery allocation (non garbage collected) be done with VB .Net ?
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr&gt;
   &lt;strong&gt;Regular answer : &lt;/strong&gt;No. C# can do unsafe (non garbage collected) code,
   and VB.Net cannot
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;strong&gt;Hideous Answer :&lt;/strong&gt; Well, yes it is far from being Elegant, but as my
   good friend and impressively clever RD &lt;a href="http://staff.newtelligence.net/clemensv"&gt;Clemens&lt;/a&gt; once
   told me in the middle of a discussion on .Net vs. COM : "There can be no purity in
   software development". So here it is :
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; There is full set of Memory management APIs (&lt;a href="http://msdn.microsoft.com/library/en-us/memory/base/memory_management_reference.asp"&gt;http://msdn.microsoft.com/library/en-us/memory/base/memory_management_reference.asp&lt;/a&gt;)
   that can be used to do memory alocation (both on the heap and on the stack), copy
   memory, get a handle to allocated memory, ...etc.
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; VB can do PInvoke ...
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &amp;nbsp;&amp;nbsp; PInvoking into Kernel32.dll (or Coredll.dll in Windows Mobile) makes
   VB capable of dealing with such issues... which is only usefull in very special cases
   (using other APIs accessible through PInvoke and making sure there is no garbage collection
   on the arguments passed to the native APIs is the only use I ever needed them for
   - and only because I had to show VB.Net code (besides C# code) in presentations ...).
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &amp;nbsp;&amp;nbsp; It is not very hard to wrap those calls into some Utility class, and
   then use it for allocating memory and geting the handles to the objects, which can
   easily make the code somewhat more elegant ...
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &amp;nbsp;&amp;nbsp; Example (MSDN Article by Derek Mitchell) : 
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &lt;a href="http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfphoneapi.asp"&gt;http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfphoneapi.asp&lt;/a&gt;
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &amp;nbsp;&amp;nbsp; Have Fun ...
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main;Trivia</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=68bb007b-cac2-43a4-9388-ce3a1af2e23f</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,68bb007b-cac2-43a4-9388-ce3a1af2e23f.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
      Can memery allocation (non garbage collected) be done with VB .Net ?
   </p>
        <p dir="ltr">
      Use the comments to answer ...
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Trivia Question : unsafe code in VB.Net ?</title>
      <guid>http://kemmou.com/PermaLink,guid,68bb007b-cac2-43a4-9388-ce3a1af2e23f.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,68bb007b-cac2-43a4-9388-ce3a1af2e23f.aspx</link>
      <pubDate>Sat, 31 Jan 2004 15:00:54 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   Can&amp;nbsp;memery allocation (non garbage collected) be done with VB .Net ?
&lt;/p&gt;
&lt;p dir=ltr&gt;
   Use the comments to answer ...
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main;Trivia</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=1b6cfe6d-de8e-4408-a4d4-e45e994efcc2</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,1b6cfe6d-de8e-4408-a4d4-e45e994efcc2.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
          <img style="WIDTH: 292px; HEIGHT: 139px" height="115" alt="" src="http://www.microsoft.com/middleeast/egypt/english/events/images/MDC.gif" width="292" border="0" />
        </p>
        <p dir="ltr">
      The <a href="http://www.microsoft.com/middleeast/egypt/english/events/MDC2004.asp">MDC</a> is
      a great information source for Developers. Started last year, the MDC is becoming
      "The" Microsoft conference in the middle east ...
   </p>
        <p dir="ltr">
      For those who missed the PDC (Los Angeles, October 2003), this is a great opportunity
      to have a look at the future with Longhorn, Yukon and Whidbey ... The three products
      that will change Microsoft technology, and place managed code at the center of every
      Microsoft product ...
   </p>
        <p dir="ltr">
      This year, the conference will be opened by Bill Gates himself (for the first time
      in Middle East).
   </p>
        <p dir="ltr">
      There are a few of my friends and fellow RDs speaking :
   </p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p dir="ltr">
            <a href="http://www.stephenforte.net/owdasblog">Stephen Forte</a>
          </p>
          <p dir="ltr">
            <a href="http://www.microsoftregionaldirectors.com/Extranet/DirectorDetails.aspx?did=1101">Patrick
      Hynds</a>
          </p>
          <p dir="ltr">
            <a href="http://www.microsoftregionaldirectors.com/Extranet/DirectorDetails.aspx?did=1129">Goksin
      Bakir</a>
          </p>
          <p dir="ltr">
            <a href="http://www.microsoftregionaldirectors.com/Extranet/DirectorDetails.aspx?did=1086">Selçuk
      Uzun</a>
          </p>
          <p dir="ltr">
            <a href="http://www.microsoftregionaldirectors.com/Extranet/DirectorDetails.aspx?did=1193">Hossam
      Khalifa</a>
          </p>
        </blockquote>
        <p dir="ltr">
      For myself, I'll be giving 4 sessions. 3 sesions on Office System development (using
      XML in Word and Excel, InfoPath, and Visual Studio Tools for Office), and a mobility
      session on developing mobile applications with the compact framework (I will dwell
      quite a bit on smartphone development, on performance considerations and tips, and
      I will introduce the new mobility features of Visual Studio Whidbey).
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>A great MDC this year</title>
      <guid>http://kemmou.com/PermaLink,guid,1b6cfe6d-de8e-4408-a4d4-e45e994efcc2.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,1b6cfe6d-de8e-4408-a4d4-e45e994efcc2.aspx</link>
      <pubDate>Tue, 13 Jan 2004 10:49:10 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &lt;img style="WIDTH: 292px; HEIGHT: 139px" height=115 alt="" src="http://www.microsoft.com/middleeast/egypt/english/events/images/MDC.gif" width=292 border=0&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   The &lt;a href="http://www.microsoft.com/middleeast/egypt/english/events/MDC2004.asp"&gt;MDC&lt;/a&gt; is
   a great information source for Developers. Started last year, the MDC is becoming
   "The" Microsoft conference in the middle east ...
&lt;/p&gt;
&lt;p dir=ltr&gt;
   For those who missed the PDC (Los Angeles, October 2003), this is a great opportunity
   to have a look at the future with Longhorn, Yukon and Whidbey ... The three products
   that will change Microsoft technology, and place managed code at the center of every
   Microsoft product ...
&lt;/p&gt;
&lt;p dir=ltr&gt;
   This year, the conference will be opened by Bill Gates himself (for the first time
   in Middle East).
&lt;/p&gt;
&lt;p dir=ltr&gt;
   There are a few of my friends and fellow RDs speaking :
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr&gt;
   &lt;a href="http://www.stephenforte.net/owdasblog"&gt;Stephen Forte&lt;/a&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;a href="http://www.microsoftregionaldirectors.com/Extranet/DirectorDetails.aspx?did=1101"&gt;Patrick
   Hynds&lt;/a&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;a href="http://www.microsoftregionaldirectors.com/Extranet/DirectorDetails.aspx?did=1129"&gt;Goksin
   Bakir&lt;/a&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;a href="http://www.microsoftregionaldirectors.com/Extranet/DirectorDetails.aspx?did=1086"&gt;Selçuk
   Uzun&lt;/a&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;a href="http://www.microsoftregionaldirectors.com/Extranet/DirectorDetails.aspx?did=1193"&gt;Hossam
   Khalifa&lt;/a&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr&gt;
   For myself, I'll be giving 4 sessions. 3 sesions on Office System development (using
   XML in Word and Excel, InfoPath, and Visual Studio Tools for Office), and a mobility
   session on developing mobile applications with the compact framework (I will dwell
   quite a bit on smartphone development, on performance considerations and tips, and
   I will introduce the new mobility features of Visual Studio Whidbey).
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main;speaking;Travel</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=5429d642-8b28-46e7-a8dc-bf2de6aa0d50</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,5429d642-8b28-46e7-a8dc-bf2de6aa0d50.aspx</pingback:target>
      <dc:creator />
      <title>streaming to an application from a web page ...</title>
      <guid>http://kemmou.com/PermaLink,guid,5429d642-8b28-46e7-a8dc-bf2de6aa0d50.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,5429d642-8b28-46e7-a8dc-bf2de6aa0d50.aspx</link>
      <pubDate>Mon, 12 Jan 2004 21:05:41 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   One intersting simple thing I have worked on today (to solve a problem encountered
   by a couple of friends), is streaming a dynamically generated pdf or other types of
   files to the user without storing it first in the file system.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   Well, it is easy to change the header information (content-type essentially), remove
   all the unwanted headers and content (Response.Clear() ) so that the normally generated
   HTML does not corrupt the pdf file ... etc.
&lt;/p&gt;
&lt;p dir=ltr&gt;
   The problem is to deal with what will happen when the client doesn't have a pdf reader
   (acrobat reader) add-in installed in his browser. Then, the browser will simply propose
   to saven the file, and the filename will be that of an aspx file (or whatever server
   side page is used), since the client requested an Asp.Net page ...
&lt;/p&gt;
&lt;p dir=ltr&gt;
   To handle this situation, there is a simple (comment if you think it is complex) way
   :
&lt;/p&gt;
&lt;ul dir=ltr&gt;
   &lt;li&gt;
      &lt;div&gt;Map the pdf extension to the ASP.Net engine : simply, in IIS, go to the application
         configuration and add the exension .pdf as needing &amp;nbsp;executable &lt;font size=2&gt;&lt;font face=Arial&gt;C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,
         as shown in the following picture&lt;/font&gt;&lt;/font&gt;
      &lt;/div&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face=Arial&gt;&lt;img src="http://www.malekkemmou.ma/content/binary/extension%20mapping.JPG" border=0&gt;&lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
   &lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;font size=2&gt;&lt;font face=Arial&gt;&lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;
   &lt;o:p&gt;This by itself can do the trick, but it will force a very inelegant (and having great error potential, ...etc.) solution ... this solution would be just renaming the .aspx page to a .pdf ... A more elegant solution is not to use an aspx file at all for this pdf generation and do the next two steps&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;ul dir=ltr&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font size=2&gt;&lt;font face=Arial&gt;
         &lt;o:p&gt;&lt;/o:p&gt;
         &lt;/font&gt;&lt;/font&gt;&amp;nbsp;Create an HttpHandler, that deals with the pdf generation. it
         can get the request parameters (or form parameters), generate the pdf, and stream
         it right back to the client. The code to do That is illustrated in the following sample
         :
      &lt;/div&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 0.5in"&gt;
   &lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;namespace&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; Malek.Utils{&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;
   &lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; PdfFileHandler
   : IHttpHandler {&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; ProcessRequest(HttpContext
   context) {&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;
   &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;if&lt;/span&gt; (context.Request.RawUrl.ToLower().EndsWith(".pdf"))&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   {&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=#006400&gt;//
   do the pdf generation, and get it in a byte array (here, a variable called content)&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   context.Response.ClearHeaders();&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   context.Response.ClearContent();&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;context.Response.ContentType="Application/pdf"; 
   &lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;context.Response.OutputStream.Write(&lt;/span&gt;&lt;/font&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;content,
   0, &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   content.Length);&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   context.Response.End();&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;font face=Geneva,Arial,Sans-Serif&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;}&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   }&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 1in"&gt;
   &lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;}&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 0.5in"&gt;
   &lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Geneva,Arial,Sans-Serif&gt;}&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN-LEFT: 0.5in"&gt;
   &lt;span lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font face=Arial&gt;The
   dll generated needs to be placed in the bin directory in the virtual directory of
   the application&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;ul dir=ltr&gt;
   &lt;li&gt;
      Add configuration code to direct calls for pdfs to the handler, as illustrated in
      the follwing Web.Config excerpt :&lt;/li&gt;
&lt;/ul&gt;
&lt;p dir=ltr&gt;
   &lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   &amp;lt;&lt;font face="Courier New" color=maroon size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;configuration&lt;/span&gt;&lt;/font&gt;&lt;font face="Courier New" color=blue size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&amp;lt;&lt;font color=#a52a2a&gt;system.web&lt;/font&gt;&lt;font face="Courier New" color=blue size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;font face="Courier New" color=maroon size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;httpHandlers&lt;/span&gt;&lt;/font&gt;&lt;font face="Courier New" color=blue size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr&gt;
   &lt;font face="Courier New" size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;/font&gt;&lt;font color=maroon&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt;&lt;/font&gt;&lt;font color=fuchsia&gt;&lt;span style="COLOR: fuchsia"&gt; &lt;/span&gt;&lt;/font&gt;&lt;font color=red&gt;&lt;span style="COLOR: red"&gt;verb&lt;/span&gt;&lt;/font&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;="*"&lt;/span&gt;&lt;/font&gt;&lt;font color=fuchsia&gt;&lt;span style="COLOR: fuchsia"&gt; &lt;/span&gt;&lt;/font&gt;&lt;font color=red&gt;&lt;span style="COLOR: red"&gt;path&lt;/span&gt;&lt;/font&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;="*.pdf"&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr&gt;
   &lt;font face="Courier New" color=fuchsia size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: fuchsia; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Courier New" color=red size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;type&lt;/span&gt;&lt;/font&gt;&lt;font face="Courier New" color=blue size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;="Malek.Utils.PdfHandler,
   PdfHandler"&lt;/span&gt;&lt;/font&gt;&lt;font face="Courier New" color=fuchsia size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: fuchsia; FONT-FAMILY: 'Courier New'"&gt; &lt;/span&gt;&lt;/font&gt;&lt;font face="Courier New" color=blue size=2&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr&gt;
   &lt;font face="Courier New" size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;/font&gt;&lt;font color=maroon&gt;&lt;span style="COLOR: maroon"&gt;httpHandlers&lt;/span&gt;&lt;/font&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr&gt;
   &lt;font face="Courier New" size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=#0000ff size=2&gt;&amp;lt;!&lt;/font&gt;&lt;font color=#008000 size=2&gt;--
   rest of the config file --&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;gt;
&lt;/p&gt;
&gt;&gt;&gt;&gt;&gt; 
&lt;p class=MsoNormal dir=ltr&gt;
   &lt;font face="Courier New" size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;
   &lt;o:p&gt;
      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font color=#000000&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;/font&gt;&lt;font color=maroon&gt;&lt;span style="COLOR: maroon"&gt;system.web&lt;/span&gt;&lt;/font&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
   &lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr&gt;
   &lt;font face="Courier New" size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;
   &lt;o:p&gt;
      &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;font color=maroon&gt;&lt;span style="COLOR: maroon"&gt;configuration&lt;/span&gt;&lt;/font&gt;&lt;font color=blue&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
   &lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main</category>
    </item>
    <item xml:lang="fr">
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=a24215ef-7878-49fa-8da5-834c1a830915</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,a24215ef-7878-49fa-8da5-834c1a830915.aspx</pingback:target>
      <dc:creator />
      <title>Fossil Wrist.Net</title>
      <guid>http://kemmou.com/PermaLink,guid,a24215ef-7878-49fa-8da5-834c1a830915.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,a24215ef-7878-49fa-8da5-834c1a830915.aspx</link>
      <pubDate>Sun, 11 Jan 2004 08:03:21 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   Wow,&lt;a href="http://www.hanselman.com/blog/ct.ashx?id=33068bd7-9a6c-4661-a678-acf3583835de&amp;amp;url=http%3a%2f%2fwww.fossil.com%2f" ?&gt;&lt;img height=163 src="http://www.fossil.com/images/us/local/page_specific/home/01_07_04/home_feat02.jpg" width=146 align=right&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p dir=ltr&gt;
   Une montre .Net ... Entre autres, cette montre (marque Fossil) est connectée avec
   le service MSN Direct (rendez vous,&amp;nbsp;notifications, météo, ...etc)
&lt;/p&gt;
&lt;p dir=ltr&gt;
   Dommage que MSN Direct ne couvre que les&amp;nbsp;US ...
&lt;/p&gt;
&lt;p dir=ltr&gt;
   la &lt;a href="http://www.fossil.com/text/content/tech/msn_intro/msn_intro.html"&gt;démo
   flash&lt;/a&gt; est aussi très séduisante ...&amp;nbsp;
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;main</category>
    </item>
    <item>
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=8447291f-703d-4e31-80b3-0b14b0349fab</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,8447291f-703d-4e31-80b3-0b14b0349fab.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
          <font color="#000000">I have many times encountered the issue of allowing people to
      print some content from a web form, and usually the answer is one of the following
      painful and not very convincing solutions :</font>
        </p>
        <ul dir="ltr">
          <li>
            <div>
              <font color="#000000">ActiveX : having an activeX component handle the printing
            of the info on the page . This is just one more thing from the COM deployment hell
            era ...</font>
            </div>
          </li>
          <li>
            <div>
              <font color="#000000">PDF : giving a link to a dynamically generated PDF has
            been, for quite some time, the best way out of the issue. most users do have a PdfReader,
            and it works ... the problem here is simply that you need server side processing of
            the info into a Pdf document, while the Pdf document is not part of the process at
            all (unless there is a requirement to let people save the doc whithout being able
            to modify it) ... this is a return to the Pluming era ...</font>
            </div>
          </li>
        </ul>
        <p>
          <font color="#000000">Well, the main problem here is to be able to act on the client
      side, and do some rich functionnality ... wait a minute, there is something called
      Zero Touch Deployment, is there ?</font>
        </p>
        <p>
          <font color="#000000">The problem is, you are not supporting client that don't have
      a .Net Framework installed ... but, isn't that like Pdf ? the only difference is that
      .Net is newer, and is not on most people's machines, and does not even exist for many
      operating systems (yet). Well, I am lucky, because when I look at statistics of browser
      usage in Morocco (At least if I can trust the most visited portals), more than 95%
      of all internet users have machines with Windows 9x and up. Unix/Linux users are marginal,
      and pre-Windows 95 almost non existant ... I guess it is one time one has to be vicious,
      and pull out some scheme to make those users install CLR, and printing has made a
      great job of driving adoption of Pdf ...</font>
        </p>
        <p>
          <font color="#000000">So, here is the scheme : Have a smart client app that gets the
      info in HTML or XML (with XSLT) through a web service, and print it on the client.
      put that up on some highly visited site, where printing is an important functionality.
      Then, on the Web Pages, just test if the client has CLR , and if not(and is runing
      windows), redirect (with all due respect and info that he needs to install an app
      to be able to use printing) to .Net Framework redistribuatble installation (With code
      access security settings that will permit execution and printing, once again after
      having notified the user). Once the client has CLR, just redirect to smart client
      app, and pass the necessary request params that will allow the web service to retrieve
      the document.</font>
        </p>
        <p>
          <font color="#000000">Wait a minute, I tried to do this, but there is no way to pass
      params to the smart client app. Url formating will not let you pass command line args.
      If you pass request params, you have two issues : retrieving those params, and you
      can do that in different ways :</font>
          <font size="2">
          </font>
        </p>
        <p>
          <font color="#000000">Environment.GetCommandLineArgs()  <font size="3"><font size="4">or</font>  </font><font size="2">Environment.CommandLine
      </font></font>
        </p>
        <p>
          <font color="#000000">AppDomain.CurrentDomain.domain.GetData("APP_LAUNCH_URL")</font>
        </p>
        <p>
          <font size="3">That will give you the full Url, and you can parse it to get back your
      params. The problem now is that you have made the WebService proxy go crazy. It will
      try to see if there is a config file (for some obscur reason), and will be using your
      Url and appeding .config to it, and there is no way out. Not quite so, </font>
          <font color="#000000"> thanks
      to </font>
          <a href="http://www.sellsbrothers.com/">
            <font color="#000000">Chris Sells</font>
          </a>
          <font color="#000000"> and
      his </font>
          <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnforms/html/winforms05152003.asp">
            <font color="#000000">article
      on msdn</font>
          </a>. You can add an HttpHandler to the application serving your smart
      client, so that it handles the .exe, and the .config...
   </p>
        <p>
      There, you have completed the trick, and good luck hunting unCLRed clients ...
   </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Web printing, an interesting way out ...</title>
      <guid>http://kemmou.com/PermaLink,guid,8447291f-703d-4e31-80b3-0b14b0349fab.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,8447291f-703d-4e31-80b3-0b14b0349fab.aspx</link>
      <pubDate>Fri, 09 Jan 2004 22:31:55 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   &lt;font color=#000000&gt;I have many times encountered the issue of allowing people to
   print some content from a web form, and usually the answer is one of the following
   painful and not very convincing solutions :&lt;/font&gt;
&lt;/p&gt;
&lt;ul dir=ltr&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font color=#000000&gt;ActiveX : having an activeX component handle the printing
         of the info on the page . This is just one more thing from the COM deployment hell
         era ...&lt;/font&gt;
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div&gt;&lt;font color=#000000&gt;PDF : giving a link to a dynamically generated PDF has been,
         for quite some time, the best way out of the issue. most users do have a PdfReader,
         and it works ... the problem here is simply that you need server side processing of
         the info into a Pdf document, while the Pdf document is not part of the process at
         all (unless there is a requirement to let people save the doc whithout being able
         to modify it)&amp;nbsp;... this is a return to the Pluming era ...&lt;/font&gt;
      &lt;/div&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
   &lt;font color=#000000&gt;Well, the main problem here is to be able to act on the client
   side, and do some rich functionnality ... wait a minute, there is something called
   Zero Touch Deployment, is there ?&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font color=#000000&gt;The problem is, you are not supporting client that don't have
   a .Net Framework installed ... but, isn't that like Pdf ? the only difference is that
   .Net is newer, and is not on most people's machines, and does not even exist for many
   operating systems (yet). Well, I am lucky, because when I look at statistics of browser
   usage in Morocco (At least if I can trust the most visited portals), more than 95%
   of all internet users have machines with Windows 9x and up. Unix/Linux users are marginal,
   and pre-Windows 95 almost non existant ... I guess it is one time one has to be vicious,
   and pull out some scheme to make those users install CLR, and printing has made a
   great job of driving adoption of Pdf ...&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font color=#000000&gt;So, here is the scheme : Have a smart client app that gets the
   info in HTML or XML (with XSLT) through a web service, and print it on the client.
   put that up on some highly visited site, where printing is an important functionality.
   Then, on the Web Pages, just test if the client has CLR , and if not(and is runing
   windows), redirect (with all due respect and info that he needs to install an app
   to be able to use printing) to .Net Framework redistribuatble installation (With code
   access security settings that will permit execution and printing, once again after
   having notified the user). Once the client has CLR, just redirect to smart client
   app, and pass the necessary request params that will allow the web service to retrieve
   the document.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font color=#000000&gt;Wait a minute, I tried to do this, but there is no way to pass
   params to the smart client app. Url formating will not let you pass command line args.
   If you pass request params, you have two issues : retrieving those params, and you
   can do that in different ways :&lt;/font&gt;&lt;font size=2&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font color=#000000&gt;Environment.GetCommandLineArgs()&amp;nbsp; &lt;font size=3&gt;&lt;font size=4&gt;or&lt;/font&gt;&amp;nbsp; &lt;/font&gt;&lt;font size=2&gt;Environment.CommandLine
&lt;/p&gt;
&gt;&gt; 
&lt;p&gt;
   &lt;font color=#000000&gt;AppDomain.CurrentDomain.domain.GetData("APP_LAUNCH_URL")&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font size=3&gt;That will give you the full Url, and you can parse it to get back your
   params. The problem now is that you have made the WebService proxy go crazy. It will
   try to see if there is a config file (for some obscur reason), and will be using your
   Url and appeding .config to it, and there is no way out. Not quite so,&amp;nbsp;&lt;/font&gt;&gt;&lt;font color=#000000&gt; thanks
   to &lt;/font&gt;&lt;a href="http://www.sellsbrothers.com/"&gt;&lt;font color=#000000&gt;Chris Sells&lt;/font&gt;&lt;/a&gt;&lt;font color=#000000&gt; and
   his &lt;/font&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnforms/html/winforms05152003.asp"&gt;&lt;font color=#000000&gt;article
   on msdn&lt;/font&gt;&lt;/a&gt;. You can add an HttpHandler to the application serving your smart
   client, so that it handles the .exe, and the .config...
&lt;/p&gt;
&lt;p&gt;
   There, you have completed the trick, and good luck hunting unCLRed clients ...
&lt;/p&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net</category>
    </item>
    <item xml:lang="fr">
      <trackback:ping>http://kemmou.com/Trackback.aspx?guid=52beef39-8a97-4f9e-85c5-48cdc08981f6</trackback:ping>
      <pingback:server>http://kemmou.com/pingback.aspx</pingback:server>
      <pingback:target>http://kemmou.com/PermaLink,guid,52beef39-8a97-4f9e-85c5-48cdc08981f6.aspx</pingback:target>
      <dc:creator />
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
      Suite à la création du User Group MugNet, il semble qu'un certain nombre de critiques
      se sont produites dans la le milieu informatique au Maroc. Si je ne suis pas, par
      nature, un polémiqueur, il y a cependant quelques réflexions qui me gènent. Par exemple,
      sur le group MarocIT, une remarque a été faite en ces termes :
   </p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p dir="ltr" style="MARGIN-RIGHT: 0px">
            <font size="2">
              <font face="Courier New">Le .NET n'est pas reconnu actuellement comme
      un "standard 
      <br />
      technologique international". Comme une initiative qui vise aux 
      <br />
      développement des nouvelles technologies, c'est une bonne chose de 
      <br />
      créer ce genre d'ONG. Cependant, si c'est sponsorisé par Microsoft 
      <br />
      pour essayer d'imposer sa plateforme face à la concurrence farouche<br />
      des "open source", ca ca devient de la pub/sponsoring pur et simple 
      <br />
      sans aucune valeur ajoutée pour notre pays !</font>
            </font>
          </p>
        </blockquote>
        <p dir="ltr" style="MARGIN-RIGHT: 0px">
          <font size="2">
            <font size="3">Une autre remarque est carrément une attaque :</font>
          </font>
        </p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p dir="ltr" style="MARGIN-RIGHT: 0px">
            <font face="Courier New" size="2">Je ne savais pas que .net était un "standard technologique
      international" ni que Microsoft avait le droit de faire de leur département marketing
      développeur une ONG!</font>
          </p>
        </blockquote>
        <p dir="ltr" style="MARGIN-RIGHT: 0px">
          <font size="2">
            <font size="3">Bien que le terme ONG me dérrange pour décrire un User
      Group, je ne comprend pas comment on a pu nous assimiler au département Marketing
      développeur de Microsoft. Comme je ne peux pas croire que quelqu'un va, par pure méchanceté
      nous attaquer avant même de savoir qui nous sommes, je suppose que quelque chose a
      dû être mal interprétée ...</font>
          </font>
        </p>
        <p dir="ltr" style="MARGIN-RIGHT: 0px">
          <font size="2">
            <font size="3">Je peux penser à deux choses différérentes comme possible
      source de confusion :</font>
          </font>
        </p>
        <p dir="ltr" style="MARGIN-RIGHT: 0px">
          <font size="2">
            <font size="3">1. Que l'on ait interprété .Net comme étant Visual Studio
      .Net</font>
          </font>
        </p>
        <p dir="ltr" style="MARGIN-RIGHT: 0px">
          <font size="2">
            <font size="3">    Cela est le moins grave, car, effectivement,
      il est compréhensif que l'on puisse confondre la technologie .Net avec l'implémentation
      la plus utilisée sur cette technologie. Pour cela, je préfère, même si je pense que
      ceux qui lisent ces lignes le savent déja, préciser un peu ce qu'est la technologie
      .Net. Initiée par Microsoft, la technologie .Net, ou plus précisement la "Common Language
      Infrastructure", est une spécification proposée par Microsoft, HP,Intel, Fujitsu,
      ISE et Monash University, et standardisé par ECMA et ISO. Cette spécification est
      précise (Langage intermédiaire défini, spécification du Runtime, bibliothèques de
      classes, ...etc.). Les implémentations de cette technologie sont multiples, et les
      plus visibles sont la multitude de langages par différents éditeurs (Microsoft, Borland
      Delphi et C#, Sybase Python et PowerBuilder, ActiveState Perl, Fujitsu/Lahey Cobol
      et Fortran, les langages académiques tels que Mondrian, Haskell,  Component Pascal,
      Scheme, Mercury, ...etc) ainsi que le runtime Mono de Ximian (nouvellement filiale
      de Novell), les outils de développement (add-ins DB2 de IBM), et beaucoup d'autres.</font>
          </font>
        </p>
        <p dir="ltr" style="MARGIN-RIGHT: 0px">
      2.Mon titre Microsoft Regional Director
   </p>
        <p dir="ltr" style="MARGIN-RIGHT: 0px">
         Si je n'ai pas souvent eu à m'expliquer sur mon titre, c'est que, en
      tant que consultant, je suis relativement connu dans le milieu, et même si je me sens
      proche de Microsoft, mes clients savent que je ne suis guère un fanatique des technologies
      de Microsoft. Ils savent que je suis totalement convaincu par .Net, mais que je suis
      là, avec eux pour d'abord aider au succès de leurs solutions, et que je ne recommanderais
      pas une technologie Microsoft si elle n'est pas un bon choix pour eux. Je comprend
      par contre que peut être, on puisse l'interpréter comme un titre donné à quelqu'un
      du département Marketing développeur de Microsoft (bien qu'un tel département n'existe
      pas en Afrique du Nord) ...
   </p>
        <p dir="ltr" style="MARGIN-RIGHT: 0px">
         Puisque je n'ai jamais expliqué, dans ce blog, ce qu'était un Regional
      Director, je le ferais en quelques lignes :
   </p>
        <p dir="ltr" style="MARGIN-RIGHT: 0px">
         - je suis un consultant indépendant (je gère mon propre business de consulting),
      je ne travaille pas chez Microsoft, ni pour le compte de Microsoft.
   </p>
        <ul dir="ltr">
          <li>
            <div style="MARGIN-RIGHT: 0px">   je suis reconnu par Microsoft en tant
            que "expert" sur leur technologies
         </div>
          </li>
          <li>
            <div style="MARGIN-RIGHT: 0px">   j'ai des rapports d'échange d'information
            avec les équipes de développement de Microsoft (ceux qui développent les outils de
            développement plus précisément). Cela me donne accès à des informations confidentielles
            sur les technologies Microsoft, et me permet donc d'être très efficace sur leur technologies
         </div>
          </li>
          <li>
            <div style="MARGIN-RIGHT: 0px">   Je ne touche pas un centime de chez
            Microsoft (à part quand on me commande des interventions en tant que consultant ou
            speaker sur des évènnements)
         </div>
          </li>
          <li>
            <div style="MARGIN-RIGHT: 0px">   Je n'utilise pas que les technologies
            Microsoft (ne serais ce que pour des besoins d'intégration dans des milieux hétérogènes,
            ou pour des fonctionnalités où les technologies Microsoft ne sont pas bonnes ou n'ont
            pas les fonctionnalités voulues ...)
         </div>
          </li>
        </ul>
        <p style="MARGIN-RIGHT: 0px">
          <font size="2">
            <font size="3">Au fait, c'est un titre qui m'honore, et qui est plus
      une reconnaissance de compétances de la part de Microsoft qu'autre chose...</font>
          </font>
        </p>
        <br />
        <hr />
   This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</body>
      <title>Suis je devenu un employé Microsoft sans le savoir ?</title>
      <guid>http://kemmou.com/PermaLink,guid,52beef39-8a97-4f9e-85c5-48cdc08981f6.aspx</guid>
      <link>http://kemmou.com/PermaLink,guid,52beef39-8a97-4f9e-85c5-48cdc08981f6.aspx</link>
      <pubDate>Tue, 06 Jan 2004 18:17:54 GMT</pubDate>
      <description>&lt;p dir=ltr&gt;
   Suite à la création du User Group MugNet, il semble qu'un certain nombre de critiques
   se sont produites dans la le milieu informatique au Maroc. Si je ne suis pas, par
   nature, un polémiqueur, il y a cependant quelques réflexions qui me gènent. Par exemple,
   sur le group MarocIT, une remarque a été faite en ces termes :
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &lt;font size=2&gt;&lt;font face="Courier New"&gt;Le .NET n'est pas reconnu actuellement comme
   un "standard 
   &lt;br&gt;
   technologique international". Comme une initiative qui vise aux 
   &lt;br&gt;
   développement des nouvelles technologies, c'est une bonne chose de 
   &lt;br&gt;
   créer ce genre d'ONG. Cependant, si c'est sponsorisé par Microsoft 
   &lt;br&gt;
   pour essayer d'imposer sa plateforme face à la concurrence farouche&lt;br&gt;
   des "open source", ca ca devient de la pub/sponsoring pur et simple 
   &lt;br&gt;
   sans aucune valeur ajoutée pour notre pays !&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &lt;font size=2&gt;&lt;font size=3&gt;Une autre remarque est carrément une attaque :&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &lt;font face="Courier New" size=2&gt;Je ne savais pas que .net était un "standard technologique
   international" ni que Microsoft avait le droit de faire de leur département marketing
   développeur une ONG!&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &lt;font size=2&gt;&lt;font size=3&gt;Bien que le terme ONG me dérrange pour décrire un User Group,
   je ne comprend pas comment on a pu nous assimiler au département Marketing développeur
   de Microsoft. Comme je ne peux pas croire que quelqu'un va, par pure méchanceté nous
   attaquer avant même de savoir qui nous sommes, je suppose que quelque chose a dû être
   mal interprétée ...&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &lt;font size=2&gt;&lt;font size=3&gt;Je peux penser à deux choses différérentes comme possible
   source de confusion :&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &lt;font size=2&gt;&lt;font size=3&gt;1. Que l'on ait interprété .Net comme étant Visual Studio
   .Net&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &lt;font size=2&gt;&lt;font size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cela est le moins grave, car, effectivement,
   il est compréhensif que l'on puisse confondre la technologie .Net avec l'implémentation
   la plus utilisée sur cette technologie. Pour cela, je préfère, même si je pense que
   ceux qui lisent ces lignes le savent déja, préciser un peu ce qu'est la technologie
   .Net. Initiée par Microsoft, la technologie .Net, ou plus précisement la "Common Language
   Infrastructure", est une spécification proposée par Microsoft, HP,Intel, Fujitsu,
   ISE et Monash University, et standardisé par ECMA et ISO. Cette spécification est
   précise (Langage intermédiaire défini, spécification du Runtime, bibliothèques de
   classes, ...etc.). Les implémentations de cette technologie sont multiples, et les
   plus visibles sont la multitude de langages par différents éditeurs (Microsoft, Borland
   Delphi et C#, Sybase Python et PowerBuilder, ActiveState Perl, Fujitsu/Lahey Cobol
   et Fortran, les langages académiques tels que Mondrian, Haskell, &amp;nbsp;Component Pascal,
   Scheme, Mercury, ...etc) ainsi que le runtime Mono de Ximian (nouvellement filiale
   de Novell), les outils de développement (add-ins DB2 de IBM), et beaucoup d'autres.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   2.Mon titre Microsoft Regional Director
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &amp;nbsp;&amp;nbsp; Si je n'ai pas souvent eu à m'expliquer sur mon titre, c'est que, en
   tant que consultant, je suis relativement connu dans le milieu, et même si je me sens
   proche de Microsoft, mes clients savent que je ne suis guère un fanatique des technologies
   de Microsoft. Ils savent que je suis totalement convaincu par .Net, mais que je suis
   là, avec eux pour d'abord aider au succès de leurs solutions, et que je ne recommanderais
   pas une technologie Microsoft si elle n'est pas un bon choix pour eux. Je comprend
   par contre que peut être, on puisse l'interpréter comme un titre donné à quelqu'un
   du département Marketing développeur de Microsoft (bien qu'un tel département n'existe
   pas en Afrique du Nord) ...
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &amp;nbsp;&amp;nbsp; Puisque je n'ai jamais expliqué, dans ce blog, ce qu'était un Regional
   Director, je le ferais en quelques lignes :
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
   &amp;nbsp;&amp;nbsp; - je suis un consultant indépendant (je gère mon propre business de consulting),
   je ne travaille pas chez Microsoft, ni pour le compte de Microsoft.
&lt;/p&gt;
&lt;ul dir=ltr&gt;
   &lt;li&gt;
      &lt;div style="MARGIN-RIGHT: 0px"&gt;&amp;nbsp;&amp;nbsp; je suis reconnu par Microsoft en tant
         que "expert" sur leur technologies
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div style="MARGIN-RIGHT: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;j'ai des rapports d'échange d'information
         avec les équipes de développement de Microsoft (ceux qui développent les outils de
         développement plus précisément). Cela me donne accès à des informations confidentielles
         sur les technologies Microsoft, et me permet donc d'être très efficace sur leur technologies
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div style="MARGIN-RIGHT: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Je ne touche pas un centime de chez
         Microsoft (à part quand on me commande des interventions en tant que consultant ou
         speaker sur des évènnements)
      &lt;/div&gt;
   &lt;li&gt;
      &lt;div style="MARGIN-RIGHT: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Je n'utilise pas que les technologies
         Microsoft (ne serais ce que pour des besoins d'intégration dans des milieux hétérogènes,
         ou pour des fonctionnalités où les technologies Microsoft ne sont pas bonnes ou n'ont
         pas les fonctionnalités voulues ...)
      &lt;/div&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p style="MARGIN-RIGHT: 0px"&gt;
   &lt;font size=2&gt;&lt;font size=3&gt;Au fait, c'est un titre qui m'honore, et qui est plus une
   reconnaissance de compétances de la part de Microsoft qu'autre chose...&lt;/font&gt;
&lt;/p&gt;
&gt;
&lt;br /&gt;
&lt;hr /&gt;
This weblog is sponsored by &lt;a href="http://www.newtelligence.com"&gt;newtelligence AG&lt;/a&gt;. </description>
      <category>.Net;Ineta/MUGNET</category>
    </item>
  </channel>
</rss>