<feed xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
    <title>Teucer's Quiver</title>
    <link rel="self" type="application/xml" href="http://geekswithblogs.net/ansari/Atom.aspx" />
    <subtitle type="html">Me &amp;&amp; .net</subtitle>
    <id>http://geekswithblogs.net/ansari/Default.aspx</id>
    <author>
        <name>Tameem Ansari </name>
        <uri>http://geekswithblogs.net/ansari/Default.aspx</uri>
    </author>
    <generator uri="http://subtextproject.com" version="Subtext Version 0.0.0.0">Subtext</generator>
    <updated>2007-02-21T13:40:00Z</updated>
    <entry>
        <title>Switched to blue</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2007/02/21/106927.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2007/02/21/106927.aspx</id>
        <published>2007-02-21T13:36:00-06:00:00</published>
        <updated>2007-02-21T13:40:00Z</updated>
        <content type="html">&lt;p&gt;I have recently joined &lt;a href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt; US and have moved to US. So no more travelling often between India and Redmond. I haven't yet decided if I am going to move out of GWB. I think I would continue to occasionally post to my blog. &lt;a href="http://arundomized.blogspot.com/"&gt;ArunBala&lt;/a&gt; from our team has also started blogging, other than that few of the other guys on our team who are already on the web are &lt;a href="http://www.geekswithblogs.net/rupreet"&gt;Rupreet&lt;/a&gt;, &lt;a href="http://dotnetlive.blogspot.com/"&gt;Harshit&lt;/a&gt;, &lt;a href="http://arung.spaces.live.com/blog/"&gt;ArunPG&lt;/a&gt;. 
&lt;/p&gt;&lt;p&gt; 
 &lt;/p&gt;&lt;p&gt;I am not sure we would probably like to setup a team blog or not or whether we would be blogging about the work we do but those are things we would probably think over a period of time. 
&lt;/p&gt;&lt;p&gt; 
 &lt;/p&gt;&lt;p&gt;Btw this blog post comes prepared in OneNote and posted from Word 2007. Hope I don't need to setup font and styles every now and then! 
&lt;/p&gt;&lt;p&gt; 
 &lt;/p&gt;&lt;p&gt;For those who want to know what I work on, it's the same stuff I did earlier. Write Outlook add-ins which talk to CRM platforms :) that's it for now! 
&lt;/p&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/106927.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/106927.aspx</wfw:comment>
        <slash:comments>4</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/106927.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/106927.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Can a web app be offline and work like a smart client? YES it can</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2006/11/20/97666.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2006/11/20/97666.aspx</id>
        <published>2006-11-20T18:11:00-06:00:00</published>
        <updated>2006-11-20T18:11:00Z</updated>
        <content type="html">&lt;p&gt;I am a strong supporter of smart clients. They could not have been anything better than smart clients. Smart clients are the big thing for any of us developers who write code for the desktop. But I do keep in touch with some of those things happening in the web world in which I spent a fair amount of time. &lt;/p&gt; &lt;p&gt;Smart clients are basically those client side apps which have these 4 characteristics specified below&lt;/p&gt; &lt;p&gt;1. Intelligent Deployment and update&lt;br&gt;2. Local resource utilization for UX&lt;br&gt;3. Connected and operate with one or more systems which serve data and business logic&lt;br&gt;4. Offline Capabilities which allow the application to behave seamlessly irrespective of whether Item #3 is available or not&lt;/p&gt; &lt;p&gt;And ofcourse I love them because that's my bread &amp;amp; butter :) And I have a fair share of arguments against web apps and my trumpcard used to be Offline capabilities. Apps which run in the browser (hey wait I am not talking about web pages with activex controls or java applets) need the pipe to talk over the network and present more and more of the UI as people keep working on the app. They are bottomline simply nothing but HTML &lt;strong&gt;BUT...&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Everybody wants to work with their favorite application while they are offline not connected to that site or machine (where there favorite app is available). Is that possible; though I hate to say but &lt;strong&gt;YES &lt;/strong&gt;one can build web apps with Rich UX using Ajax and Atlas with a local data store. Currently there are a few options they can explore. &lt;/p&gt; &lt;p&gt;1. IE (yes IE does provide this behavior) but IMO the size limitations are a bottleneck to anything which can be done sensibly. &lt;a href="http://codinginparadise.org/weblog/2005/08/ajax-internet-explorer-has-native.html"&gt;More...&lt;/a&gt;&lt;br&gt;2. &lt;a href="http://db.apache.org/derby/"&gt;Derby&lt;/a&gt; From apache (Sun's otherwise &lt;a href="http://developers.sun.com/prodtech/javadb/"&gt;JavaDB&lt;/a&gt;) is an option &lt;a href="http://www.zimbra.com/blog/archives/2006/11/taking_zimbra_offline.html#comments"&gt;which Zimbra uses&lt;/a&gt; which allows for structured storage but you would end up deploying a certificate signed jar file (which means user has to download something to the machine [Tameem's has an evil grin here hehhehe]&lt;br&gt;3. The &lt;a href="http://manual.dojotoolkit.org/WikiHome/DojoDotBook/Book50"&gt;Dojo toolkits storage api&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;I wish to see something from the &lt;a href="http://weblogs.asp.net/scottgu/archive/2005/06/28/416185.aspx"&gt;Microsoft Atlas folks&lt;/a&gt; or the &lt;a href="http://blogs.msdn.com/ie/"&gt;IE folks&lt;/a&gt; or the &lt;a href="http://blogs.msdn.com/smartclientdata/"&gt;smart client folks&lt;/a&gt; if they could probably ship a SQL Server Compact Edition database and relevant Atlas based client libraries and provide a default persistence store for IE so that rich AJAX/Atlas apps could provide the users of these colorful (if not extremely rich) web apps with offline capabilities. &lt;/p&gt; &lt;p&gt;As case studies one could take a look at &lt;a href="http://iscrybe.com/main/index.php"&gt;Scrybe&lt;/a&gt; and &lt;a href="http://www.zimbra.com/"&gt;Zimbra&lt;/a&gt; how they provide there web apps with offline capabilities. &amp;nbsp;&lt;/p&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/97666.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/97666.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/97666.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/97666.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Security considerations for smart client applications - I</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2006/11/18/97528.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2006/11/18/97528.aspx</id>
        <published>2006-11-18T19:29:00-06:00:00</published>
        <updated>2006-11-20T13:04:00Z</updated>
        <content type="html">&lt;p&gt;Security is one of the areas which I am constantly interested in and as my work revolves around smart clients in the last few years I decided to write down this post. Many of these items described below would apply not only to smart clients but for most applications (irrespective of Web services, Server side apps, alike). I don't consider myself a strong SQL developer hence I am not comfortable right now to post such security considerations for SQL code. May be some day later. Do note that these items are in no order of priority considering that one or more than one of these items could threaten the application's credibility. So lets get started...&lt;/p&gt; &lt;p&gt;&lt;u&gt;Never ship something which you are not using&lt;br&gt;&lt;/u&gt;Most of us have done this before and whether we admit or not there is a security risk involved in shipping something with your app which is not used by your application. Items include sample code for one of those components which your app uses, Debug files, test harness assemblies. The last thing you know your app was safe until someone found a vulnerability with that additional file you shipped and which is going to tarnish the repute of your app and mandate a hotfix. Don't build them or ensure that they are removed after install or during an update if you have already shipped one.&lt;/p&gt; &lt;p&gt;Common sense dictates that the more services available on a server, the greater the opportunities for possible attack. Thus, a minimalist approach can be a positive security action. Remove unneeded files and components from your app. &lt;/p&gt; &lt;p&gt;&lt;u&gt;Turn on integer overflow and underflow checks&lt;br&gt;&lt;/u&gt;Buffer overflows have been a traditional attack vector for almost all types of apps (including web apps). A detailed description of what attack patterns exist have been summarized by &lt;a href="http://blogs.msdn.com/michael_howard/"&gt;Michael Howard&lt;/a&gt; in this MSDN &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncode/html/secure04102003.asp"&gt;article&lt;/a&gt;. Visual Studio C# environment can check for integer overflows and underflows and cause a run-time exception instead of continuing execution with incorrect data. However, &lt;strong&gt;by default these checks are turned off&lt;/strong&gt; (I am yet to figure out why). So set the CheckForOverflowUnderflow element to true in the .csproj file or otherwise using the project properties page. "Properties -&amp;gt; Build Tab -&amp;gt; Advanced -&amp;gt; Check for arithmetic overflow/underflow checkbox". &lt;/p&gt; &lt;p&gt;&lt;u&gt;Be aware of luring attacks due to LinkDemands&lt;/u&gt;&lt;br&gt;So you wrote a nice neat library which does lots of good things and makes the developers life easy. It takes care of using &lt;a href="http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20040212securityml/manifest.xml"&gt;CAS&lt;/a&gt; but there is a small short coming you are doing &lt;a href="http://msdn2.microsoft.com/en-us/library/hzsc022c.aspx"&gt;LinkDemands&lt;/a&gt; instead of &lt;a href="http://msdn2.microsoft.com/en-us/library/9kc0c6st.aspx"&gt;regular Demands&lt;/a&gt; which makes the CLR to only walk one caller up the call stack. The malicious code may not be the immediate caller on the call stack due to which the CLR is lured into performing an operation without adequate trust from the original caller. &lt;/p&gt; &lt;p&gt;Some practices for LinkDemands are listed below.&lt;br&gt;1. Don't use them unless absolutely necessary. Be defensive rather than reactive for an exploit to be isolated and reported. &lt;br&gt;2. If you do not know the list of callers for the trusted assembly then do not use LinkDemands. &lt;br&gt;3. If you are developing an API which in turn is going to call another method which is marked with a LinkDemand ensure that you enforce adequate checks so that calls of your API can be trusted or do not malicious intent. &lt;br&gt;4. LinkDemands are attributes applied only to that class method so in case your method marked with a LinkDemand is going to be overridden in a derived class then ensure to decorate that override with a LinkDemand too.&lt;br&gt;5. Use the right access specifier for your class and method in which you are doing LinkDemands. It would be useless to mark a method with a LinkDemand if the class is internal or the method is private.&lt;/p&gt; &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/3ky50t49.aspx"&gt;More&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;u&gt;Don't store private public key pairs (Strong Name keys) as part of the source repository (better use Delay signing)&lt;/u&gt;&lt;br&gt;Well you strong name your assembly which is one level of security or authenticity of your assembly. Well Done but where and how do you store your strong name keys? From a development perspective if you consider your application assemblies as assets of your application then the strong name keys used to mark the validity of your assembly is a secret which should not be shared with anybody else outside the development team. Some one who could get their hands on the app source code and could potentially build a malicious assembly with the same name and authenticity and ship the binary. Its easy to spot whether an .snk file has both the private public keypair together; the key pair size is 596 bytes and public key alone is 160 bytes. Ok I understand the issue what do we do? Well don't keep the private and public keys together in one .snk file. Or use different keys during "dev &amp;amp; test" &amp;amp; another for the production version. One of the approaches which I had implemented for our app is to keep the public,private key file in a secure share and marked the AssemblyInfo.cs file to locate the file from that file share. The file share is accessible only to people who are part of a security group which is of course only members of our development team. Even if you get hold of the app code you cannot build the app unless you have access to that share. &lt;/p&gt; &lt;p&gt;Shawn Farkas &lt;a href="http://blogs.msdn.com/shawnfa/default.aspx"&gt;blog&lt;/a&gt; contains a &lt;a href="http://blogs.msdn.com/shawnfa/archive/tags/StrongName/default.aspx"&gt;lot of posts&lt;/a&gt; regarding the subject of strong names and assemblies. &lt;/p&gt; &lt;p&gt;&lt;u&gt;Sign your documents (which contain code)&lt;/u&gt;&lt;/p&gt; &lt;p&gt;IMHO Infopath was the most unpopular tool in the Office suite in Office 2003 but with &lt;a href="http://office.microsoft.com/en-us/infopath/default.aspx"&gt;Infopath 2007&lt;/a&gt; it is the killer front end in my opinion. Having worked for the web and been constantly working on smart clients I always wanted a way to present the same UI for both web and desktop apps. Infopath 2007 is probably the only application in my knowledge which can be used by information workers today to build such UI. Infopath docs with the Office Forms Server allow rendering Infopath forms in the native Infopath application or otherwise accessible from the browser on machine which do not have the Infopath application installed. One consistent UI for both the web and the desktop. Super Cool isn't XAML is still not yet there to the masses where a day to day office user could build his/her own data entry form from scratch without much programming knowledge. Now to the issue in hand.&lt;/p&gt; &lt;p&gt;Infopath Templates must be signed, as they contains script code which gets downloaded to the clients machine, which is similar to the excel file with macros.The Infopath file downloaded by the client if replaced by an attacker with another malicious file, there is no way the client would be knowing that he is using the malicious file. If the file is code signed, then the certificate would be prompted to the user to prove the genuinity of the file and that it belongs to the issuer(in this case your app or corpwide certificate). This would make sure that the file is not tampered and it is provided by the legitimate party which can be trusted by the client who is invoking it.&lt;/p&gt; &lt;p&gt;Well I gotta go now and have a huge list of items which I plan to write more in the coming days. I just updated this post title with a "I"... and I anticipate at least 3-4 more parts. Do keep posting your comments in case you are interested to discuss more on these areas. &lt;/p&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/97528.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/97528.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/97528.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/97528.aspx</trackback:ping>
    </entry>
    <entry>
        <title>DebuggerNonUserCode attribute</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2006/11/16/97318.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2006/11/16/97318.aspx</id>
        <published>2006-11-16T19:15:00-06:00:00</published>
        <updated>2006-11-16T19:15:00Z</updated>
        <content type="html">&lt;p&gt;Today I was debugging some code and was not able to break into some code of a component; the debugger just failed to recognize it. Turns out the method was decorated with the [&lt;a href="http://msdn2.microsoft.com/en-us/library/system.diagnostics.debuggernonusercodeattribute.aspx"&gt;DebuggerNonUserCodeAttribute&lt;/a&gt;]. Its a neat way to restrict code from being debugged/stepped into. The attribute can be applied to structs, classes, methods, properties and as one may guess not for interfaces. Do note that these attributes are useful only to debugging tools so if you end up writing an implementation for ICorDebug :) you can very well ignore these attributes. &lt;/p&gt; &lt;p&gt;Mike Stall has a&amp;nbsp;relevant post aptly named "&lt;a href="http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx"&gt;How can I debug Just My Code?&lt;/a&gt;". One may also want to read about &lt;a href="http://blogs.msdn.com/jmstall/archive/2005/01/04/346641.aspx"&gt;what's new in 2.0 debugging&lt;/a&gt;...&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;And today I am thinking about whether to use Typed Datasets or not to build the data access library for the local storage POC I am involved in... may be more info in a future post...&lt;/p&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/97318.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/97318.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/97318.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/97318.aspx</trackback:ping>
    </entry>
    <entry>
        <title>After the 100th Post... what next?</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2006/11/13/96986.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2006/11/13/96986.aspx</id>
        <published>2006-11-13T15:17:00-06:00:00</published>
        <updated>2006-11-13T15:17:00Z</updated>
        <content type="html">&lt;p&gt;Yes the &lt;a href="http://geekswithblogs.net/ansari/archive/2006/11/13/96981.aspx"&gt;last post&lt;/a&gt; was my 100th post. &lt;a href="http://nitinkrishnan.blogspot.com/"&gt;Nitin&lt;/a&gt;, a dear friend of mine who also is a blogger (got introduced by &lt;a href="http://geekswithblogs.net/tpatel/"&gt;Tejas&lt;/a&gt;) did ask me some time ago why I stopped blogging. No reasons there of everything should be considered an excuse if I had to state any :(.&amp;nbsp;So my resolution after posting the 100th post to my blog is to keep blogging at&amp;nbsp;a decent frequency and I shall genuinely undertake this exercise . &lt;/p&gt; &lt;p&gt;Next what am I doing these days? &lt;/p&gt; &lt;p&gt;Well... For starters I am in &lt;a href="http://en.wikipedia.org/wiki/Seattle,_Washington"&gt;Seattle&lt;/a&gt; and contracting at &lt;a href="http://www.microsoft.com/"&gt;Microsoft&lt;/a&gt;. I am still working with &lt;a href="http://www.satyam.com"&gt;Satyam&lt;/a&gt; and I am glad about the work I do... My latest work interest require me to evaluate a local database or storage option for our Outlook addin. Ofcourse after going over a few options I am leaning towards opting in for &lt;a href="http://www.microsoft.com/sql/editions/compact/default.mspx"&gt;Sql Server Compact Edition&lt;/a&gt; (Formally Sql Server Everywhere and even earlier Sql Server Mobile). I also roughly evaluated VistaDB (I did it during my own personal time to evaluate what they call as the world's first 100% managed light weight SQL DB). I strongly recommend anyone evaluating a local database option should read &lt;a href="http://blogs.msdn.com/stevelasker/"&gt;Steve Laskar's&lt;/a&gt; whitepaper &lt;a href="http://download.microsoft.com/download/A/4/7/A47B7B0E-976D-4F49-B15D-F02ADE638EBE/Compact_Express_Comparison.doc"&gt;comparing Sql Express vs. Sql Compact edition&lt;/a&gt;. Though you may think it is a bit biased towards Sql Server there is a lot of detail about what really would be the needs and requirements which dev's, designers and architects need to think proactively while deciding a local datastore requirement. &lt;/p&gt; &lt;p&gt;I am hooked to TV and it has again become part of my day to day life. Few of my favorite are "Grey's Anatomy", "Desperate Housewives", "Vanished", "Heroes", "Eureka", "Dexter", "Kyle XY", "Jericho" and the list goes on...&amp;nbsp;I had heard good things about "BattleStar Gallactica" and over the last weekend I managed to see Season1 and I am excited to watch and finish Season 2 over the thanksgiving weekend coming soon. &lt;/p&gt; &lt;p&gt;I used to be a movie buff but haven't really been upto date on movies but I think I will be soon visiting a theater near by to watch "&lt;a href="http://www.sonypictures.com/movies/casinoroyale/site/"&gt;Casino Royale&lt;/a&gt;" &lt;/p&gt; &lt;p&gt;Some of you may know my association with &lt;a href="http://www.mugh.net"&gt;MUGH&lt;/a&gt; and the core team especially my ties with some; &lt;a href="http://sudhakar.wordpress.com/"&gt;Sudhakar&lt;/a&gt;, &lt;a href="http://arun.mvpblog.com/"&gt;Arun&lt;/a&gt;, &lt;a href="http://weblogs.asp.net/anjanaram/"&gt;Anjana&lt;/a&gt;, &lt;a href="http://umeshsoft.blogspot.com/"&gt;Thota Umesh&lt;/a&gt; to name a few... &lt;a title="" href="http://www.mugh.net" target="_blank"&gt;MUGH&lt;/a&gt; is going to conduct one of there largest developer events (DevCon 2006)for the year of 2006 at Hyderabad. Details about the event can be found at their home page. &lt;/p&gt; &lt;p&gt;Overall life is pretty decent and well taken care of... While all this is going on I have some major changes which are to take place in the coming months with me... Hope to keep my friends and fellow bloggers upto date from here... &lt;/p&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/96986.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/96986.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/96986.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/96986.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Do developers really need money or something else?</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2006/11/13/96981.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2006/11/13/96981.aspx</id>
        <published>2006-11-13T14:27:00-06:00:00</published>
        <updated>2006-11-13T14:27:00Z</updated>
        <content type="html">&lt;p&gt;Came across a &lt;a href="http://www.softwarebyrob.com/articles/Nine_Things_Developers_Want_More_Than_Money.aspx"&gt;post&lt;/a&gt; from &lt;a href="http://www.softwarebyrob.com/"&gt;Software by Rob&lt;/a&gt; blog which has an interesting article about what developers (old school programmers many of them you can say like me...) really need in a programming job. &lt;/p&gt; &lt;p&gt;Many of those points seem to be too true. But in my personal analysis I am opinionated I should say. Partly because I am not doing a day in night out coding job these days... But then for now I shall keep my thoughts to myself :) &lt;/p&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/96981.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/96981.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/96981.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/96981.aspx</trackback:ping>
    </entry>
    <entry>
        <title>MSN Developer Center.</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2006/02/22/70367.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2006/02/22/70367.aspx</id>
        <published>2006-02-22T10:30:00-06:00:00</published>
        <updated>2006-02-22T10:30:00Z</updated>
        <content type="html">&lt;FONT face=Tahoma size=2&gt;Just came across the &lt;A href="http://msdn.microsoft.com/msn/default.aspx"&gt;MSN Developer center&lt;/A&gt; on MSDN. Pretty neat :)&lt;/FONT&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/70367.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/70367.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/70367.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/70367.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Delay signing and VS 2005 challenges</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2006/02/13/69308.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2006/02/13/69308.aspx</id>
        <published>2006-02-13T07:58:00-06:00:00</published>
        <updated>2006-02-13T07:58:00Z</updated>
        <content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;I would like to run sn.exe as a post build instruction. Our key pair is stored in a share whose acess is controlled using ACLs hence its a protected asset. We didnt want to skip assembly verification or use the &lt;A href="http://blogs.msdn.com/shawnfa/archive/2005/10/24/484170.aspx"&gt;vs2005 feature for test key signing&lt;/A&gt; due to certain reasons notable of which is the fact that there is a dependant system which identifies our code using our strong name for the calling assembly and its a one time registration changing which would impact production or introduce maintenance issues. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;So the next question is H&lt;/FONT&gt;&lt;FONT face=Tahoma size=2&gt;ow do I get the vs.net command environment setup as a post build instruction so that I can call sn.exe? some of the solution projects use web service proxies which are sgen'd during compilation and it requires assemblies to be fully signed before it can generate serialization assemblies. I have not yet investigated the MSBuild properties SignAssembly and AssemblyOriginatorKeyFile as described &lt;A href="http://blogs.msdn.com/msbuild/archive/2005/09/26/474079.aspx"&gt;here&lt;/A&gt; so far but not sure if that would be help us in all circumstances or not?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;I have so far tried something like expanding the program files variable and hard code the rest of the path to the &lt;EM&gt;Microsoft Visual Studio 8\VC\&lt;/EM&gt; folder and run the vcvarsall.cmd script and then execute what may be necessary. There are couple of issues which our team has faced so far due to this. Some of the devs have multiple program file folders (essentially they have one partition with the OS and another with the rest of the programs hence multiple program file folders), in some cases they run the compile on machines which do not have vs.net installed and so on... W&lt;/FONT&gt;&lt;FONT face=Tahoma size=2&gt;hat I am finally thinking is to introduce a custom environment variable with the correct path to the vsvarsall command script which a dev would set system wide before he compiles code using vs.net.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/69308.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/69308.aspx</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/69308.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/69308.aspx</trackback:ping>
    </entry>
    <entry>
        <title>FAQ about Generics in .net</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2005/11/27/61321.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2005/11/27/61321.aspx</id>
        <published>2005-11-27T14:03:00-06:00:00</published>
        <updated>2005-11-27T14:03:00Z</updated>
        <content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;A href="http://msdn.microsoft.com"&gt;MSDN&lt;/A&gt; has published four FAQs about Generics in .net and they are a must read in my opinion to anyone who is interested in template based programming constructs! &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/dndotnet/html/Fundamentals.asp"&gt;Fundamentals&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/dndotnet/html/NetFramework.asp"&gt;.Net Framework &amp;amp; Generics&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/dndotnet/html/ToolSupport.asp"&gt;Tool Support for Generics&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/dndotnet/html/BestPractices.asp"&gt;Best Practices&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/61321.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/61321.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/61321.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/61321.aspx</trackback:ping>
    </entry>
    <entry>
        <title>New Winforms 2.0 Resources page..</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2005/11/20/60665.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2005/11/20/60665.aspx</id>
        <published>2005-11-20T13:32:00-06:00:00</published>
        <updated>2005-11-20T13:32:00Z</updated>
        <content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;I was looking for some good FAQ's posted on Winforms 2.0 when I hit upon &lt;A href="http://www.windowsforms.net/Default.aspx?tabindex=5&amp;amp;tabid=60"&gt;this page&lt;/A&gt; at the WindowsForms.net site. The &lt;A href="http://www.windowsforms.net/Samples/Go%20To%20Market/DataGridView/DataGridView%20FAQ.doc"&gt;DataGridView faq&lt;/A&gt; is probably the most comprehensive I have found so far on the net. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;DataGridView FAQ rating&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Tahoma size=2&gt;A - Good&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Tahoma size=2&gt;B - Very Good&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Tahoma size=2&gt;C - Excellent&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Tahoma size=2&gt;D - None of the above (Human Error: Could not find a word desribing above excellent) &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;My Answer: d&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/60665.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/60665.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/60665.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/60665.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Questions on my mind...</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2005/11/09/59642.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2005/11/09/59642.aspx</id>
        <published>2005-11-09T23:40:00-06:00:00</published>
        <updated>2005-11-10T00:03:00Z</updated>
        <content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Questions which are on my mind right now. Hope I can fill in results for these questions some time (hopefully soon)! &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;1. How can the bootstrapper model of deployment be applicable for merge modules (currently you cannot write a bootstrapper setup for a merge module) &lt;BR&gt;2. How do you install your application using setup.exe (the bootstrapper) but launch the final MSI in silent mode? (though the bootstrapper setup help states that any parameters other than -homesite, -url, ... are specified then they are passed as is to the setup MSI - I tried supplying setup.exe /passive thinking that /passive would be passed to the setup MSI but it does not behave that way) &lt;BR&gt;3. How to write an application and ship it (not as an MSI) and also run the bootstrap module to check and install prerequisites (I think this &lt;A href="http://blogs.msdn.com/chrsmith/articles/Using_the_Bootstrapper_to_launch_an_EXE.aspx"&gt;link&lt;/A&gt;&amp;nbsp;points to what I am asking for)&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/59642.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/59642.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/59642.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/59642.aspx</trackback:ping>
    </entry>
    <entry>
        <title>WSE 3.0 and VS2005 bootstrap installer</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2005/11/07/59399.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2005/11/07/59399.aspx</id>
        <published>2005-11-07T21:03:00-06:00:00</published>
        <updated>2005-11-07T21:05:00Z</updated>
        <content type="html">&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;&lt;A href="http://blogs.msdn.com/mfussell/default.aspx"&gt;Mark&lt;/A&gt; whose team delivers WSE &lt;A href="http://blogs.msdn.com/mfussell/archive/2005/11/07/490049.aspx"&gt;&lt;SPAN class=SpellE&gt;blogged&lt;/SPAN&gt; today&lt;/A&gt; about WSE 3.0 RTM. Congratulations &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Wingdings; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;We require to ship the WSE runtime as a prerequisite for our smart client app hence I had to evaluate whether we can use the &lt;SPAN class=SpellE&gt;bootstrapper&lt;/SPAN&gt; installer to install WSE.&lt;BR&gt;WSE 3.0 installs the &lt;SPAN class=SpellE&gt;bootstrapper&lt;/SPAN&gt; relevant packages which is sweet but I noticed that it does not support install from the component vendor web site which means you end up hosting the runtime &lt;SPAN class=SpellE&gt;redist&lt;/SPAN&gt; as part of your install package. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;Listed below is what I did to fix (read hack) and get going with what we needed to do. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;1. First thing first you would need to update the &lt;SPAN class=SpellE&gt;Product.xml&lt;/SPAN&gt; file which contains information as to what type of install support is available. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=SpellE&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;PackageFiles&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: fuchsia; FONT-FAMILY: 'Courier New'"&gt; &lt;/SPAN&gt;&lt;SPAN class=SpellE&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;CopyAllPackageFiles&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;="true"&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;!&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;--&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; Once we &lt;SPAN class=SpellE&gt;droped&lt;/SPAN&gt;, we should define the &lt;SPAN class=SpellE&gt;HomeSite&lt;/SPAN&gt;--&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=SpellE&gt;&lt;SPAN style="COLOR: maroon"&gt;PackageFile&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt;&amp;nbsp;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: fuchsia; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 2"&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&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;="Microsoft WSE 3.0 &lt;SPAN class=SpellE&gt;Runtime.msi&lt;/SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: fuchsia; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: fuchsia; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 2"&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&gt;&lt;SPAN class=SpellE&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;HomeSite&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;="WSE3_0Msi" &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;PublicKey&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;="30820..[truncated]"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;/&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;!&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;--&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &amp;lt;&lt;SPAN class=SpellE&gt;PackageFile&lt;/SPAN&gt; Name="Microsoft WSE 3.0 &lt;SPAN class=SpellE&gt;Runtime.msi&lt;/SPAN&gt;"/&amp;gt; --&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;/&lt; SPAN&gt;&lt;SPAN class=SpellE&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;PackageFiles&lt;/SPAN&gt;&lt;/SPAN&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;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;&lt;FONT color=#000000&gt;2. Basically went to the download site and checked the source of &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=9E59C3FB-E7BC-4D91-908E-411A8D329F3D&amp;amp;displaylang=en"&gt;&lt;FONT color=#0000ff&gt;this download page&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#000000&gt; to identify the specific &lt;SPAN class=SpellE&gt;&lt;SPAN class=GramE&gt;url&lt;/SPAN&gt;&lt;/SPAN&gt; from where the MSI is downloaded. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;&lt;FONT color=#000000&gt;3. Edited the &lt;SPAN class=SpellE&gt;Package.xml&lt;/SPAN&gt; file so that &lt;SPAN class=SpellE&gt;homesite&lt;/SPAN&gt; reference is available when the &lt;SPAN class=SpellE&gt;bootstrapper&lt;/SPAN&gt; is built with the following change. Add this String element to the Strings list.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;String&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: fuchsia; FONT-FAMILY: 'Courier New'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;="WSE3_0Msi"&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;A href="http://download.microsoft.com/download/f/9/a/f9a2e045-11bc-4ad3-b303-4a5bbde7b5e8/Microsoft WSE 3.0 Runtime.msi"&gt;http://download.microsoft.com/download/f/9/a/f9a2e045-11bc-4ad3-b303-4a5bbde7b5e8/Microsoft WSE 3.0 Runtime.msi&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;BR&gt;&lt;/&lt; SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;String&lt;/SPAN&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;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;&lt;FONT color=#000000&gt;&lt;STRONG&gt;NOTE&lt;/STRONG&gt;: This &lt;SPAN class=SpellE&gt;&lt;SPAN class=GramE&gt;url&lt;/SPAN&gt;&lt;/SPAN&gt; may change; we are not going to prod right now so I guess by then I shall have a &amp;#8220;go.microsoft.com&amp;#8221; &lt;SPAN class=SpellE&gt;url&lt;/SPAN&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Tahoma"&gt;&lt;FONT color=#000000&gt;Interesting that though everything works the VS build reports a warning that the public key token is not matching between what is defined in the &lt;SPAN class=SpellE&gt;Product.xml&lt;/SPAN&gt; and what is actually in the &lt;SPAN class=SpellE&gt;bootstrapper&lt;/SPAN&gt; folder&amp;#8217;s MSI.&lt;/FONT&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/59399.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/59399.aspx</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/59399.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/59399.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Back to maintaining a blog..</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2005/11/07/59395.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2005/11/07/59395.aspx</id>
        <published>2005-11-07T19:58:00-06:00:00</published>
        <updated>2005-11-07T19:58:00Z</updated>
        <content type="html">&lt;FONT face=Tahoma size=2&gt;Its been a long long time since I blogged. I guess its time....&lt;/FONT&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/59395.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/59395.aspx</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/59395.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/59395.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Yahoo's Developer Poral</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2005/03/02/24823.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2005/03/02/24823.aspx</id>
        <published>2005-03-02T21:46:00-06:00:00</published>
        <updated>2005-03-02T21:46:00Z</updated>
        <content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Yahoo opened up its &lt;A href="http://developer.yahoo.net/"&gt;developer portal&lt;/A&gt; (in beta as of now) . They are offering web services for Yahoo search and Overture (Yahoo's Ad subsidiary) to start with. First it was Google now Yahoo. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;People are sure catching up. MSN are you listening!&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/24823.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/24823.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/24823.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/24823.aspx</trackback:ping>
    </entry>
    <entry>
        <title>CLR related reading..</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2005/02/28/24600.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2005/02/28/24600.aspx</id>
        <published>2005-02-28T23:51:00-06:00:00</published>
        <updated>2005-02-28T23:51:00Z</updated>
        <content type="html">&lt;P&gt;&lt;FONT face=Tahoma&gt;&lt;FONT size=2&gt;If you are looking for blogs&amp;nbsp;by folks who work on the CLR team then this compilation is a must have in your subscription list.&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Via &lt;A href="http://geekswithblogs.net/khanna/"&gt;KGK&lt;/A&gt; - &lt;A href="http://blogs.msdn.com/shawnfa/archive/2005/02/08/369384.aspx"&gt;Blogging around the CLR&lt;/A&gt; on Shawn Farkas blog.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/24600.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/24600.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/24600.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/24600.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Providing Context Sensitive help for .net applications.</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2004/12/31/18938.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2004/12/31/18938.aspx</id>
        <published>2004-12-31T18:57:00-06:00:00</published>
        <updated>2004-12-31T18:58:00Z</updated>
        <content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;I have been spending&amp;nbsp;time working on this &lt;A href="http://weblogs.asp.net/dphill/articles/66300.aspx"&gt;Smart Client application&lt;/A&gt; and we are running a successfull pilot implementation of the same. Smart Client applications being client side winform application hence its more or less mandated that the usability and UX guidelines set by Microsoft be adhered. After all &amp;#8220;Standards&amp;#8221; are a good thing :). And frankly after Asp.net became popular (I still love that technology) lots of people left writing or looking seriously at writing windows applications (please dont get me wrong)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;I recommend reading&amp;nbsp;&amp;#8220;&lt;A href="http://www.amazon.com/exec/obidos/tg/detail/-/1556156790/104-0110088-0677549?v=glance"&gt;The Windows Interface Guidelines for Software Design&lt;/A&gt;&amp;#8221;&amp;nbsp;from Microsoft Press for understanding the details about user interface guidelines. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;One of those UX guidelines is that a good windows application would be providing help / documentation which will aid the user to work with the application at ease. I until date didnt know that .net has such support for help and documentation (please note I am not referring to source code documentation). &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;To cut a long story short about how happy I am to know the support for doing these things in .net. Please follow the following URLs.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformshelpclasstopic.asp"&gt;&lt;FONT face=Tahoma size=2&gt;System.Windows.Forms.Help&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; Class&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformshelpproviderclasstopic.asp"&gt;&lt;FONT face=Tahoma size=2&gt;System.Windows.Forms.HelpProvider&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; Class&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;[Update] - &lt;A href="http://support.microsoft.com/default.aspx?scid=kb;en-us;821777"&gt;Check this HOWTO article at Support.microsoft.com&lt;/A&gt;&amp;nbsp;- Provide Context-Sensitive Help or Online Help in a Windows Application by Using Visual Basic .NET&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/18938.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/18938.aspx</wfw:comment>
        <slash:comments>9</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/18938.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/18938.aspx</trackback:ping>
    </entry>
    <entry>
        <title>For smart phone enthusiasts.</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2004/12/29/18797.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2004/12/29/18797.aspx</id>
        <published>2004-12-29T22:45:00-06:00:00</published>
        <updated>2004-12-29T22:45:00Z</updated>
        <content type="html">&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;FONT face=Tahoma&gt;Here&amp;#8217;s a cool Ringtone splicer program that&amp;#8217;ll cut your WMA files into short clips for use on your smartphone. Built on .NET using Windows Media Encoder components by an MVP in Malaysia. (&lt;/FONT&gt;&lt;A title=http://www.marauderzstuff.com)/ href="http://www.marauderzstuff.com)/"&gt;&lt;FONT face=Tahoma&gt;http://www.marauderzstuff.com)/&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma&gt;. Simple and easy to use.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/18797.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/18797.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/18797.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/18797.aspx</trackback:ping>
    </entry>
    <entry>
        <title>It's time to start thinking about how we might grant legal rights to computers</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2004/12/29/18796.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2004/12/29/18796.aspx</id>
        <published>2004-12-29T22:40:00-06:00:00</published>
        <updated>2004-12-29T22:40:00Z</updated>
        <content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Read more &lt;/FONT&gt;&lt;A href="http://www.legalaffairs.org/issues/January-February-2005/feature_sokis_janfeb05.html"&gt;&lt;FONT face=Tahoma size=2&gt;here&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/18796.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/18796.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/18796.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/18796.aspx</trackback:ping>
    </entry>
    <entry>
        <title>How to use WinDBG to track leaks in the managed heap</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2004/12/28/18697.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2004/12/28/18697.aspx</id>
        <published>2004-12-28T18:37:00-06:00:00</published>
        <updated>2004-12-28T18:37:00Z</updated>
        <content type="html">&lt;P&gt;&lt;A href="http://blogs.msdn.com/ricom/"&gt;&lt;FONT face=Tahoma size=2&gt;Rico Mariani&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;, the performance architect at MS has written an &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/ricom/archive/2004/12/10/279612.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;excellent post&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; about using &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx"&gt;&lt;FONT face=Tahoma size=2&gt;windbg&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; to track memory leaks in the managed heap. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;An excellent post and a must read in my opinion.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/18697.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/18697.aspx</wfw:comment>
        <slash:comments>2</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/18697.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/18697.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Is this the end of Apache Avalon...</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/ansari/archive/2004/12/27/18617.aspx" />
        <id>http://geekswithblogs.net/ansari/archive/2004/12/27/18617.aspx</id>
        <published>2004-12-27T17:38:00-06:00:00</published>
        <updated>2004-12-27T17:38:00Z</updated>
        <content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Was checking up &lt;/FONT&gt;&lt;A href="http://avalon.apache.org/"&gt;&lt;FONT face=Tahoma size=2&gt;Apache avalon&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; and found that around november this year the Apache Avalon project was finally &lt;/FONT&gt;&lt;A href="http://avalon.apache.org/closed.html"&gt;&lt;FONT face=Tahoma size=2&gt;closed&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;. It now stands forked into various projects namely &lt;/FONT&gt;&lt;A href="http://excalibur.apache.org/"&gt;&lt;FONT face=Tahoma size=2&gt;Excalibur&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;, &lt;/FONT&gt;&lt;A href="http://loom.codehaus.org/"&gt;&lt;FONT face=Tahoma size=2&gt;Loom&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;, &lt;/FONT&gt;&lt;A href="http://www.castleproject.org/home/"&gt;&lt;FONT face=Tahoma size=2&gt;Castle &lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;and &lt;/FONT&gt;&lt;A href="http://www.dpml.net/central/products/metro/index.html"&gt;&lt;FONT face=Tahoma size=2&gt;Metro&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;During my java days this concept was pretty new and getting popular atleast in my circle of people who were crazy about all this work including me. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;The whole concept of Avalon revolved around IoC (Inversion of Control). IoC is a design pattern (fairly advanced in my opinion to people who limit themselves to simplicity and try sticking to the GoF patterns) which relates to how well components are to be built which put plain do only what they are intended to do (say business functionality) and leave the rest of the hard work to the container which happens to host them. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;A good description of IoC is presented &lt;/FONT&gt;&lt;A href="http://www.picocontainer.org/Inversion+of+Control"&gt;&lt;FONT face=Tahoma size=2&gt;here&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Now in the J world this is a big thing with the application servers as you end up writing business functionality in EJB's and things like that and leave it to the app server which hosts your business components (here EJB's) to take care of deployment, transaction management, component lookups, logging and yada yada yada stuff. Hence my interests loomed around this area for some time and I left it out for quite some time. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;I am right now thinking of how much is there a need / relativity for IoC in .net ? &lt;BR&gt;&amp;gt; I think Mr fowler has an &lt;A href="http://www.martinfowler.com/articles/injection.html"&gt;answer&lt;/A&gt; to that too :)&lt;BR&gt;&amp;gt; I also read the following other blog posts which go in detail to discuss IoC&amp;nbsp;(aka Dependency Injection) to a good extent wrt .net. &lt;BR&gt;&lt;A href="http://weblogs.asp.net/cazzu/archive/2004/05/10/129140.aspx"&gt;Daniel Cazzulino explains&lt;/A&gt; how .net has IoC built into the framework itself. &lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Tahoma size=2&gt;Sami Jaber from DotnetGuru.org talks about &lt;A href="http://www.dotnetguru.org/us/articles/ioc/ioc.html "&gt;lightweight containers&lt;/A&gt;.&lt;BR&gt;&lt;A href="http://weblogs.asp.net/ahoffman/"&gt;Alex Hoffman&lt;/A&gt; talks about the service locator pattern available in the .net Fx &lt;A href="http://weblogs.asp.net/ahoffman/archive/2004/11/25/270189.aspx"&gt;here&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/ansari/aggbug/18617.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/ansari/comments/18617.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/ansari/comments/commentRss/18617.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/ansari/services/trackbacks/18617.aspx</trackback:ping>
    </entry>
</feed>