<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Rajesh Pillai</title>
        <link>http://geekswithblogs.net/rajeshpillai/Default.aspx</link>
        <description> My experiments with asp.net mvc, jquery, wpf, silverlight, sharepoint, tdd and design patterns.</description>
        <language>en-US</language>
        <copyright>Rajesh Pillai</copyright>
        <managingEditor>thinkrajesh@yahoo.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Rajesh Pillai</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/rajeshpillai/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>jQuery 1.4 Released</title>
            <category>jQuery</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2010/01/17/jquery_1_4_released.aspx</link>
            <description>&lt;p&gt;jQuery 1.4 released.  You can find more info at http://api.jquery.com/category/version/1.4/&lt;/p&gt;
&lt;p&gt;Also celebrate jQuery 1.4 release with 14 days of jquery at &lt;a href="http://jquery14.com/pre-release-1"&gt;jquery14.com/pre-release-1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn about 15 new features of jQuery you must know &lt;a href="http://net.tutsplus.com/tutorials/javascript-ajax/jquery-1-4-released-the-15-new-features-you-must-know/"&gt;net.tutsplus.com/tutorials/javascript-ajax/jquery-1-4-released-the-15-new-features-you-must-know/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Enjoy jQuerying.....&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=137518"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=137518" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/137518.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2010/01/17/jquery_1_4_released.aspx</guid>
            <pubDate>Sun, 17 Jan 2010 17:26:42 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/137518.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2010/01/17/jquery_1_4_released.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/137518.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/137518.aspx</trackback:ping>
        </item>
        <item>
            <title>WCF 2 - Building Blocks</title>
            <category>wcf</category>
            <category>SOA</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/12/20/wcf_2_building_blocks.aspx</link>
            <description>&lt;h2&gt;Building Blocks of Service&lt;/h2&gt;
&lt;p&gt;Service is a&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Collection of operations that are exposed to the clients.&lt;/li&gt;
    &lt;li&gt;Service contract defines what operations are available and how clients use them.&lt;/li&gt;
    &lt;li&gt;Data contract describes data that the client and service can exchange.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Service Contracts&lt;/h2&gt;
&lt;p&gt;Service Contracts&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Describe the operations supported by a service, the message exhange pattern used and format of each&lt;br /&gt;
    message.&lt;/li&gt;
    &lt;li&gt;ServiceContract attribute marks an interface as a service contract.&lt;/li&gt;
    &lt;li&gt;OperationContract attribute exposes methods of the interface.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;&lt;u&gt;Code snippet&lt;/u&gt;&lt;/em&gt;&lt;/p&gt;
&lt;pre&gt;
[ServiceContract]
public interface IHelloService 
{
     [OperationContract]
     string SayHello (string yourName);
}&lt;/pre&gt;
&lt;h2&gt;Data Contracts&lt;/h2&gt;
&lt;p&gt;A data contracts&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Describes how CLR types are mapped to XSD schema definitions.&lt;/li&gt;
    &lt;li&gt;Enable complex types to be serialized and deserialized so it can be passed across.&lt;/li&gt;
    &lt;li&gt;DataContract attribute identiifes each class that can be serialized.&lt;/li&gt;
    &lt;li&gt;DataMember attribute identifies members that needs to be exposed to the clients.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;&lt;u&gt;Code snippet&lt;/u&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Here's an example of a data contract for a account class.&lt;/p&gt;
&lt;pre&gt;
[DataContract]

public class Account

{

    [DataMember]

    public sting AccountNo { get; set; }
&lt;div&gt;    [DataMember]&lt;br /&gt;&lt;br /&gt;    public sting AccountType { get; set; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; &lt;/div&gt;&lt;/pre&gt;
&lt;div&gt;The DataContract is applied at the class level and the DataMember is applied at the individual member level.  &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;h2&gt;Endpoints&lt;/h2&gt;
&lt;p&gt;The client communicates with service  via endpoints.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Host application makes the service available by providing one or more endpoints to the clients.&lt;/li&gt;
    &lt;li&gt;Endpoint consist of&lt;br /&gt;
    - Address of service (Where?)&lt;br /&gt;
    - Binding (How?)&lt;br /&gt;
    - Contract (What?)&lt;/li&gt;
    &lt;li&gt;Client and Service use the same endpoint.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Address-Binding-Contract are the ABC's of service. &lt;/p&gt;
&lt;h2&gt;Bindings&lt;/h2&gt;
&lt;ul&gt;
    &lt;li&gt;Specify how a service endpoint communicates with client endpoints.&lt;/li&gt;
    &lt;li&gt;Consist of binding elements describing some essential aspect of communication like&lt;br /&gt;
    - Transport (HTTP, TCP, etc)&lt;br /&gt;
    - Protocol (security, reliability, transctions, sessions etc)&lt;br /&gt;
    - Messge encoding (text, binary etc)&lt;/li&gt;
    &lt;li&gt;Can be declared programatically or declaratively in the config file.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Out of box Bindings&lt;/h2&gt;
&lt;ul&gt;
    &lt;li&gt;BasicHttpBinding&lt;br /&gt;
    Compatible with ASMX Web Services.&lt;/li&gt;
    &lt;li&gt;WSHttpBinding&lt;br /&gt;
    - Conforms to WS* specifications for reliability, security and transactions.&lt;br /&gt;
    - Default&lt;/li&gt;
    &lt;li&gt;WS2007HttpBinding&lt;br /&gt;
    - Conforms to OASIS specifications for reliability, security and transactions.&lt;/li&gt;
    &lt;li&gt;WSDualHttpBinding&lt;br /&gt;
    - Supports WS-* + two-way communication&lt;/li&gt;
    &lt;li&gt;WSFederationBinding&lt;br /&gt;
    - Supports the WS-Federation specification for sharing identities across multiple systems.&lt;/li&gt;
    &lt;li&gt;WS2007FederationBinding&lt;br /&gt;
    - Supports federated security.&lt;/li&gt;
    &lt;li&gt;NetTcpBinding&lt;br /&gt;
    - Communicates across processes and machines.&lt;/li&gt;
    &lt;li&gt;NetNamedPipeBinding&lt;br /&gt;
    - Communicates on same machine&lt;/li&gt;
    &lt;li&gt;NetPeerBinding&lt;br /&gt;
    - Peer to peer communications over TCP&lt;/li&gt;
    &lt;li&gt;NetMsmqBinding&lt;br /&gt;
    - Uses MSMQ to transmit messages&lt;/li&gt;
    &lt;li&gt;MsmqIntegrationBinding&lt;br /&gt;
    - Service can send or receive messages from a MSMQ queue.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The most frequently used binding is the BasicHttpBinding, the WSHttpBinding and the NetTcpBinding.&lt;/p&gt;
&lt;p&gt;That's it for now!!!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=137140"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=137140" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/137140.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/12/20/wcf_2_building_blocks.aspx</guid>
            <pubDate>Sun, 20 Dec 2009 15:44:13 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/137140.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/12/20/wcf_2_building_blocks.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/137140.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/137140.aspx</trackback:ping>
        </item>
        <item>
            <title>WCF 1 - Introduction</title>
            <category>wcf</category>
            <category>SOA</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/12/20/wcf_1.aspx</link>
            <description>&lt;h2&gt;What is WCF?&lt;/h2&gt;
&lt;p&gt;Windows Communication Foundation aka WCF is a Microsoft platform for SOA &lt;br /&gt;
(Service Oriented Architecture).  The following are some of the important aspects that WCF allows us to achieve.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Its used for building distributed and interoperatble applications.&lt;/li&gt;
    &lt;li&gt;Unifies ASMX, .NET Remoting, Enterprise Services, MSMQ etc.&lt;/li&gt;
    &lt;li&gt;A single programming model for all distributed computing technology.&lt;/li&gt;
    &lt;li&gt;Configuration driven protocol choices, messaging format, reliable transactions etc.&lt;/li&gt;
    &lt;li&gt;Built for service-oriented system design&lt;/li&gt;
    &lt;li&gt;Loosely coupled.  Not bound to a particular protocol, encoding format or hosting environmnet.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Its built on top of .NET and is available with .net framework 3.0 and 3.5.  The overall WCF structure revolves around the following three core contracts.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Service Contract&lt;/strong&gt;     Defines which operations on the service can be invoked by the client.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Data Contract&lt;/strong&gt;           Defines the structure of data included in the payloads of the messages flowing in&lt;br /&gt;
    and out of the service.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Message Contract&lt;/strong&gt;     Enables the developer to control the headers that appear in the messages and how&lt;br /&gt;
    the messages are structured.&lt;br /&gt;
     &lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Real World Consideration&lt;/h2&gt;
&lt;p&gt;To design real world service contracts, we have leave our object oriented thinking behind.  We have to think in &lt;br /&gt;
terms of messages.  Messages are flowing in and out of the system.  For instance, you might have a &lt;br /&gt;
SignatureScanningService that would recieve a SignatureDocuments in a message payload, which would in turn&lt;br /&gt;
trigger the processing of signature.  This is typically used in banks wherein the clients signature needs to &lt;br /&gt;
be captured and processed.  You can also consider the example of LoanProcessingApplication.  The processing&lt;br /&gt;
may be a long running task, in that case some kind of acknowledgement should be return frrm the service to the&lt;br /&gt;
client.  We have to move towards more document centric thinking.&lt;/p&gt;
&lt;h2&gt;WCF and Web Services Standards&lt;/h2&gt;
&lt;p&gt;The WCF contrcts directly maps to the following web services in the following way.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Service contracts map to WSDL (Web Service Description Language)&lt;/li&gt;
    &lt;li&gt;Data contracts map to XSD (xTensibile Schema Definition)&lt;/li&gt;
    &lt;li&gt;Message contracts map to SOAP (Simple Object Access Protocol) [The abbreviation is no longer important&lt;br /&gt;
    as SOAP is more that a simple object access).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;SOA (Service Oriented Architecture)&lt;/h2&gt;
&lt;p&gt;The following points briefly highlights the essence of SOA.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;A service is a program that performs some task and the client can interact with the service using well-defined&lt;br /&gt;
    contracts.&lt;/li&gt;
    &lt;li&gt;A service-oriented applciation consists of loosely coupled services that communicates through messages&lt;br /&gt;
    and contracts.  They directly don't instantiate the service but interacts through messages.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Principles&lt;/h2&gt;
&lt;ul&gt;
    &lt;li&gt;Boundaries are explicit&lt;br /&gt;
    - Services communicate by sending messages across their boundary.&lt;br /&gt;
    - All communication occur through messages.&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;Services are autonomous&lt;br /&gt;
    - Services are build, managed and version independently.&lt;br /&gt;
    - Services can be changed without affecting clients as long as clients can continue sending and receiving&lt;br /&gt;
      the same messages.&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;Services share contracts and schema&lt;br /&gt;
    - Contracts describe the messages services can send and receive.&lt;br /&gt;
    - Schemas define how the client and service construct the messages they exchange.&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;Compatibility is policy based&lt;br /&gt;
    - Services can define the policiies under which the clients can communicate with them.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the next post we will quickly have a look at the building blocks of WCF and continue our discussion on&lt;br /&gt;
contracts, services, data and messages...&lt;/p&gt;
&lt;p&gt;Cheers till then !!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=137138"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=137138" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/137138.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/12/20/wcf_1.aspx</guid>
            <pubDate>Sun, 20 Dec 2009 06:45:16 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/137138.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/12/20/wcf_1.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/137138.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/137138.aspx</trackback:ping>
        </item>
        <item>
            <title>WSS 1 : Introduction</title>
            <category>WSS</category>
            <category>cms</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/12/19/wss-1--introduction.aspx</link>
            <description>&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Welcome to this series of blog post that deals with Windows Sharepoint Services aka WSS.  In this first part we will &lt;br /&gt;
review the basics of a content management system, the types of content management system and the fitment of &lt;br /&gt;
WSS in this space.  We will delve into the technical details of WSS in the subsequent posts.  The content that follows &lt;br /&gt;
provide a birds eye view into the basics of a CMS system.  &lt;/p&gt;
&lt;h2&gt;Overview&lt;/h2&gt;
&lt;p&gt;Basically a CMS  is a system for organizing and facilitating collaborative creation of documents and other type of contents. &lt;br /&gt;
Basically it can be broadly classified as follows (though this is not a strict classification)&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Web CMS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;              A web CMS is a system for creating and managing HTML content.  It facilitates content creation, content control,&lt;br /&gt;
              editing  and essential administrative functionalities.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Enterprise CMS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;             An Enterprise CMS is used to manage an enterprise  content i.e. content that relates to organization and its &lt;br /&gt;
             processes&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Records Management&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;             RMS (Records Management System) refers to content that is mostly history kind of data.  Data which needs to &lt;br /&gt;
             stored  for longer period as per specific policies.  These data is not normalyy used.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Document Management&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;             Document Management specifically relates to management, creation, controlling of various kinds of documents&lt;br /&gt;
             including  workflows that is attached to the specific document.&lt;/p&gt;
&lt;p&gt;The above is the basic categorization.  There are more specific catgegories, but thats not that important for our discussion.&lt;/p&gt;
&lt;h2&gt;What is WSS?&lt;/h2&gt;
&lt;p&gt;Windows Sharepoint Services is a set of services which provide basic content management functionalities.  Specifically &lt;br /&gt;
it includes document management, simple workflow, list management, blogs, wikis etc.&lt;/p&gt;
&lt;p&gt;Besides since WSS is developed on top of .net framework 2.0, we have all the extensibilty that the framework provides.   &lt;br /&gt;
More commonly we will use webpart to customize the required functionlities and provide addition functionlities and &lt;br /&gt;
services.&lt;br /&gt;
&lt;br /&gt;
WSS allows teams to create web sites for information sharing and document collaboration.  WSS is a component of &lt;br /&gt;
Windows  Server 2003.  WSS also serves as a platform for application development.&lt;/p&gt;
&lt;p&gt;The second post will deal with the architecture of WSS which provides a base framework for application development &lt;br /&gt;
as well.&lt;br /&gt;
 &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=137129"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=137129" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/137129.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/12/19/wss-1--introduction.aspx</guid>
            <pubDate>Sat, 19 Dec 2009 15:48:28 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/137129.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/12/19/wss-1--introduction.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/137129.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/137129.aspx</trackback:ping>
        </item>
        <item>
            <title>VS Theme generator</title>
            <category>Visual Studio</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/12/08/vs-theme-generator.aspx</link>
            <description>&lt;p&gt;I don't usually prefer posting links to other blogs unless I find it absolutely useful.  I was always wondering how to genreate themes with different color combinations for my visual studio. Luckily there is the cute theme generator tool at&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.frickinsweet.com/tools/Theme.mvc.aspx"&gt;http://www.frickinsweet.com/tools/Theme.mvc.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Just select the color combination and click on "Create" and follow the instruction.&lt;/p&gt;
&lt;p&gt;Hope you find this useful.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136821"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136821" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136821.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/12/08/vs-theme-generator.aspx</guid>
            <pubDate>Tue, 08 Dec 2009 10:25:15 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136821.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/12/08/vs-theme-generator.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136821.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136821.aspx</trackback:ping>
        </item>
        <item>
            <title>jQuery Limit text entry</title>
            <category>jQuery</category>
            <category>asp.net</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/12/03/jqlimittext.aspx</link>
            <description>&lt;p&gt;Lets quickly have a look at how you can limit the entry to textbox and display the character input left to be keyed in.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;First things first, the script.&lt;/em&gt;&lt;/p&gt;
&lt;pre&gt;
&amp;lt;script type="text/javascript"&amp;gt;
    $(function() {
        var limit = 250;
        $('#dvLimit').text('250 characters left');
        $('textarea[id$=txtDemoLimit]').keyup(function() {
            var len = $(this).val().length;
            if (len &amp;gt; limit) {
                this.value = this.value.substring(0, limit);
            }
            $("#dvLimit").text(limit - len + " characters left");
        });
    });
&amp;lt;/script&amp;gt;
&lt;/pre&gt;
&lt;p&gt;The $() function does the following things on startup.&lt;/p&gt;
&lt;p&gt;1. Set a variable to a limit of 250 characters.&lt;/p&gt;
&lt;p&gt;2. Assign a default value to the "div" element with id "dvLimit"&lt;/p&gt;
&lt;p&gt;3. Find the control that contains the id "txtDemoLimit" and hook up the keyup event.&lt;/p&gt;
&lt;p&gt;4. In the keyup event get the length of the current text.&lt;/p&gt;
&lt;p&gt;5. If len is greater than the limit set, set the text value as a substring within the specified    limit.&lt;/p&gt;
&lt;p&gt;6. Update the div with the no. of characters left to be keyed in.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The HTML is shown below.&lt;/em&gt;&lt;/p&gt;
&lt;pre&gt;
&amp;lt;div id="dvLimit"&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div&amp;gt;
    &amp;lt;asp:TextBox ID="txtDemoLimit" TextMode="MultiLine" Columns = "40" Rows = "10" runat="server"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;
&amp;lt;/div&amp;gt;

The following is the application in action.

&lt;img width="473" height="426" alt="Jquery text box limit demo" src="/images/geekswithblogs_net/rajeshpillai/demo.jpg" /&gt;&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Modify this as per your requiement and enjoy jQuerying !!!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;a&lt;/span&gt; &lt;span class="code-attribute"&gt;href&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;http://www.codeproject.com/script/Articles/BlogFeedList.aspx?amid=48141" style="display:none"&lt;/span&gt; &lt;span class="code-attribute"&gt;rel&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;tag"&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;span title="Or any of: 'code project', 'the code project', 'The Code Project'"&gt;CodeProject&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;a&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136674"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136674" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136674.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/12/03/jqlimittext.aspx</guid>
            <pubDate>Thu, 03 Dec 2009 12:10:31 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136674.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/12/03/jqlimittext.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136674.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136674.aspx</trackback:ping>
        </item>
        <item>
            <title>Summary of MVP in Action - Unit Testing</title>
            <category>design-patterns</category>
            <category>TDD</category>
            <category>MVP Pattern</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/11/30/mvpinactiontdd.aspx</link>
            <description>&lt;h2&gt;MVP in Action - Unit Test&lt;/h2&gt;
&lt;p&gt;Read the post here..&lt;a href="http://geekswithblogs.net/rajeshpillai/archive/2009/11/30/mvp2.aspx"&gt;geekswithblogs.net/rajeshpillai/archive/2009/11/30/mvp2.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Synopsis&lt;br /&gt;
&lt;br /&gt;
This is in continuation to the article &lt;a href="http://geekswithblogs.net/rajeshpillai/archive/2009/11/29/mvp1.aspx"&gt;geekswithblogs.net/rajeshpillai/archive/2009/11/29/mvp1.aspx&lt;/a&gt;.  This post will deal with &lt;br /&gt;
writing simple unit test case for the "User" user creation use case we covered in the above blog post.&lt;/p&gt;
&lt;p&gt;Background&lt;/p&gt;
&lt;p&gt;Unit testing means testing a piece of code or a method.  White unit testing we need to stub or fake out external dependencies&lt;br /&gt;
so that the test can run in isolation.  The following two test cases we will cover&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;When saving a user with valid data should display "Successfully submitted the user." message on the view.&lt;/li&gt;
    &lt;li&gt;When saving a user with empty name should display "&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;user:User name cannot be empty&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;" the &lt;br /&gt;
    following message on the view.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Read the post here..&lt;a href="http://geekswithblogs.net/rajeshpillai/archive/2009/11/30/mvp2.aspx"&gt;geekswithblogs.net/rajeshpillai/archive/2009/11/30/mvp2.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136617"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136617" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136617.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/11/30/mvpinactiontdd.aspx</guid>
            <pubDate>Mon, 30 Nov 2009 12:01:08 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136617.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/30/mvpinactiontdd.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136617.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136617.aspx</trackback:ping>
        </item>
        <item>
            <title>MVP Pattern in action</title>
            <category>MVP Pattern</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/11/29/mvp-pattern-in-action.aspx</link>
            <description>&lt;p&gt;Just published an article on MVP Pattern in action.  You can read it here&lt;br /&gt;
&lt;a href="http://geekswithblogs.net/rajeshpillai/archive/2009/11/29/mvp1.aspx"&gt;geekswithblogs.net/rajeshpillai/archive/2009/11/29/mvp1.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Extract...&lt;/p&gt;
&lt;p&gt;This edition of blog post deals with a simple example of  MVP pattern in action.  Model View Presenter is a UI pattern which separates the &lt;br /&gt;
presentation concerns with the presentation logic.  There are three elements to it&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Model - This is the data or business object&lt;/li&gt;
    &lt;li&gt;View   - The User interface dealing with displaying data.  It routes user commands to the presenter.&lt;/li&gt;
    &lt;li&gt;Presenter - Interaction of UI with UI logic.  It retrieves the data from repositories, persistsit, manipulates&lt;br /&gt;
    it and determines how it will be displayed in the view.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The core strength of MVP is testability and view switchability.  You can create views for different environment like windows, mobile, web etc and share the same presentation logic.......&lt;/p&gt;
&lt;p&gt;More &lt;a href="http://geekswithblogs.net/rajeshpillai/archive/2009/11/29/mvp1.aspx"&gt;geekswithblogs.net/rajeshpillai/archive/2009/11/29/mvp1.aspx&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136599"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136599" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136599.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/11/29/mvp-pattern-in-action.aspx</guid>
            <pubDate>Sun, 29 Nov 2009 11:34:29 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136599.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/29/mvp-pattern-in-action.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136599.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136599.aspx</trackback:ping>
        </item>
        <item>
            <title>Some notes from my tdd session</title>
            <category>TDD</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/some-notes-from-my-tdd-session.aspx</link>
            <description>&lt;p&gt;Here's a quick notes from the TDD session which I conducted some time back.&lt;/p&gt;
&lt;h1&gt;Introduction&lt;/h1&gt;
&lt;ul&gt;
    &lt;li&gt;Writing test before writing production code.&lt;/li&gt;
    &lt;li&gt;Design as you go along.&lt;/li&gt;
    &lt;li&gt;Follow Red-Green-Refactor paradigm&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;Benefits&lt;/h1&gt;
&lt;ul&gt;
    &lt;li&gt;Spot design flow early.&lt;/li&gt;
    &lt;li&gt;Test before the production code is built.&lt;/li&gt;
    &lt;li&gt;Identify poort requirements or requirement gaps.&lt;/li&gt;
    &lt;li&gt;Reduced testing time.&lt;/li&gt;
    &lt;li&gt;The test forms the functional document for your code.&lt;/li&gt;
    &lt;li&gt;Quickly identify bugs.&lt;/li&gt;
    &lt;li&gt;Reduces the cost of bugs in the long run.&lt;/li&gt;
    &lt;li&gt;Low level regression test suite.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;Road blocks to TDD&lt;/h1&gt;
&lt;p&gt;When doing TDD the following road blocks you may hit.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Real objects are slow&lt;/li&gt;
    &lt;li&gt;Ral objecs are difficult to mock.&lt;/li&gt;
    &lt;li&gt;Rad object may be unavailable.&lt;/li&gt;
    &lt;li&gt;Real object may be costly.&lt;/li&gt;
    &lt;li&gt;Real object does not yet exits.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here "Real Object" is the object under test.&lt;/p&gt;
&lt;h1&gt;The solution - Enter Mocking&lt;/h1&gt;
&lt;ul&gt;
    &lt;li&gt;What is a mock object?
    &lt;ul&gt;
        &lt;li&gt;Mock objects are stand-in-object for real object.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Use of mock object
    &lt;ul&gt;
        &lt;li&gt;Real object has non-deterministic behaviour.&lt;/li&gt;
        &lt;li&gt;Real object is slow.&lt;/li&gt;
        &lt;li&gt;Real object is difficult to setup.&lt;/li&gt;
        &lt;li&gt;Real object is expensive.&lt;br /&gt;
         &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;Rhino Mock (The mocking framework)&lt;/h1&gt;
&lt;ul&gt;
    &lt;li&gt;A dynamic mock object framework for the .NET platform.&lt;/li&gt;
    &lt;li&gt;Objective is to ease testing by allowing the developer to create mock implementation of custom&lt;br /&gt;
    objects and verify the interactions using unit testing.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;Stubs and Mocks&lt;/h1&gt;
&lt;ul&gt;
    &lt;li&gt;A mock is an object that we can set expectations on, and which will verify that the expected actions have&lt;br /&gt;
    indeed occurred.&lt;/li&gt;
    &lt;li&gt;A stub is an object that you use in order to pass to the code under test.  You can setup expectations on it, &lt;br /&gt;
    so it would act in certain ways, but those expectations will never be verified.  A stub's properties will &lt;br /&gt;
    automatically behave like normal properties and you cann't set expectations on them.&lt;/li&gt;
    &lt;li&gt;If you want to verify the behaviour of the code under test, you wil use a mock with the appropriate &lt;br /&gt;
    expectation and verify that.  I you want to just pass a value that may need to act in  a certain way, but isn't the&lt;br /&gt;
    focus of the test you will use a stub.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;u&gt;IMPORTANT: A stub will never cause a test to fail.&lt;/u&gt;&lt;/p&gt;
&lt;h1&gt;Rhino Mocks - 1&lt;/h1&gt;
&lt;ul&gt;
    &lt;li&gt;CreateMock / StrickMock
    &lt;ul&gt;
        &lt;li&gt;For strict mockign&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;DynamicMock
    &lt;ul&gt;
        &lt;li&gt;Flexible&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;PartialMock
    &lt;ul&gt;
        &lt;li&gt;Mock concrete class&lt;/li&gt;
        &lt;li&gt;Only  mock virtual methods&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;AAA approach&lt;/h1&gt;
&lt;ul&gt;
    &lt;li&gt;A - Arrange
    &lt;ul&gt;
        &lt;li&gt;Arrange your tests.  Setup your values.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;A - Act/action
    &lt;ul&gt;
        &lt;li&gt;Execute the testing condition.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;A - Assert
    &lt;ul&gt;
        &lt;li&gt;Assert on expectations.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Happy TDD'ing....&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136594"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136594" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136594.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/some-notes-from-my-tdd-session.aspx</guid>
            <pubDate>Sat, 28 Nov 2009 11:17:01 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136594.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/some-notes-from-my-tdd-session.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136594.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136594.aspx</trackback:ping>
        </item>
        <item>
            <title>c# 4.0 Part 1</title>
            <category>.NET 4</category>
            <category>c# 4.0</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/csharp41.aspx</link>
            <description>&lt;h1&gt;c# 4.0 Part 1&lt;/h1&gt;
&lt;p&gt;&lt;br /&gt;
The following are some of the new features and few interesting things you can do with c# 4.0.&lt;br /&gt;
&lt;br /&gt;
- Named and Optional Parameters&lt;br /&gt;
- ExpandoObject&lt;br /&gt;
- Interface with Python (and example)&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-style: italic;"&gt;Program 1&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;
class Program
{
   // Optional parameters should be at the end
   static void PrintMessage(string name = "World", string greeting = "Hello")
   {
       Console.WriteLine("{0} {1}", greeting, name);
   } 
   static void Main (string[] args)
   {
       PrintMessage("World", "Hello");  // prints "Hello World"
       PrintMessage(greeting:"Goodbye");  // prints "Goodbye World"

   }
}
&lt;/pre&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-style: italic;"&gt;Program 2&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
- Dynamic Invocation&lt;/p&gt;
&lt;pre&gt;

class Person
{
   public string FirstName {get;set;}
   public string LastName {get;set;}
}

class Program
{
   static void Main (string[] args)
   {
       var person = new Person();
       person.FirstName = "Rajesh";
       person.LastName = "Pillai";
     
       object o = person;
       // o.GetType().InvokeMember(....);   older method of late binding
     
       // hold ref. to almost anything, but more extensible (like  interface with python or ruby
       dynamic dp = person; 
     
       // The below code compiles "even though FullName is not declared".  You get runtime exception
       Console.WriteLine(dp.FullName);
     
   }
}
&lt;/pre&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-style: italic;"&gt;Program 3&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;

// Build Person object at runtime
using System.Dynamic;
class Program
{
   static void Main (string[] args)
   {
       // ExpandoObject :  similar to javascript object works (add dynamic prop and funcs
       dynamic dp = new ExpandoObject();
     
       // Dynamically create "FirstName"
       dp.FirstName = "Rajesh";
       dp.LastName = "Pillai";
     
       Console.WriteLine("{0} {1}", dp.FirstName, dp.LastName);
     
       // Add methods  (methods need to be delegate)
       dp.Print = new Action(delegate ()
       {
           Console.WriteLine("{0} {1}", dp.FirstName, dp.LastNmae);
       });
     
       // OR use lambda syntax
       dp.PrintPretty = new Action(() =&amp;gt;
       {
           Console.WriteLine("{0} {1}", dp.FirstName, dp.LastNmae);
       });
     
     
       dp.Print();
       dp.PrintPretty();
         
   }
}
&lt;/pre&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-style: italic;"&gt;Program 4&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Reference with other language IronPyton 2.6 CTP for .NET 4.0 Beta 1&lt;/p&gt;
&lt;pre&gt;

using IronPython.Hosting;
class Program
{
   static void Main (string[] args)
   {
       var py = Python.CreateEngine();  // may be used for end user scripting customization
     
       // UseFile-&amp;gt;ScriptScope is similar to ExpandoObject
       dynamic sample = py.Runtime.UseFile("Sample.py");  // refer the python file
       dynamic sum =  sample.add(5, 6);
     
       Console.WriteLine(sum);
       Console.WriteLine(sum.GetType());  // System.Int32
 

       dynamic sum1 =  sample.add(5.6, 6.7);
     
       Console.WriteLine(sum1);
       Console.WriteLine(sum1.GetType());  // System.Double
     
   }
}
&lt;/pre&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
// some python code&lt;br /&gt;
Sample.py  (add two numbers)&lt;br /&gt;
------------------------------&lt;/p&gt;
&lt;pre&gt;

def add(x,y):
   return x + y&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136593"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136593" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136593.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/csharp41.aspx</guid>
            <pubDate>Sat, 28 Nov 2009 10:35:40 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136593.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/csharp41.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136593.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136593.aspx</trackback:ping>
        </item>
        <item>
            <title>Tip : ASP.NET 4 Setting Client IDs</title>
            <category>ASP.NET 4.0</category>
            <category>.NET 4</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/settingclientid.aspx</link>
            <description>&lt;h1&gt;ASP.NET 4 Setting Client IDs&lt;/h1&gt;
&lt;p&gt;Another most wanted feature of asp.net 4 is the ability control client ID generation.  At least I am happy with this.  With prior&lt;br /&gt;
version of asp.net it was always difficult control the control id generation though not impossible.  Why is this important?  If you&lt;br /&gt;
can control ID generation then the markup size may dramatially reduce which may result in improved performance.  The gain&lt;br /&gt;
may around 15% reduction in terms of markup size in case of complicated nested pages.  &lt;/p&gt;
&lt;p&gt;The new ClientIDMode property addresses this long standing issue in ASP.NET.  Knowing the id attribute for rendered&lt;br /&gt;
elements are important if your application uses client script that references these elements.&lt;/p&gt;
&lt;p&gt;The new CLientIDMode property lets you specify more precisely how the client ID is generated for controls.  You can set the&lt;br /&gt;
ClientIDMode property for any control, including for the page.  Following are the possible settings&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;AutoID  &lt;br /&gt;
    This is the same as earlier versions of asp.net.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;Static  &lt;br /&gt;
    This specifies that the ClientID value will be the same as the ID without concatenating the IDs of parent naming&lt;br /&gt;
    containers.  This can be useful in Web user controls.  &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;Predictable&lt;br /&gt;
    This option is primarily for use in data controls that use repeating templates.  It concatenates the ID properties&lt;br /&gt;
    of the control's naming containers, but generated ClientID values do not contain strings like "ctlxxx".  This setting&lt;br /&gt;
    works in conjuction with the ClientIDRowSuffix propertyof the control.  You set the ClientIDRowSuffix property to&lt;br /&gt;
    the name of a data field, and the vlaue of that field is used as the suffix for the generated ClientID value.  It's &lt;br /&gt;
    recommended to use the primary key of a data record as the ClientIDRowSuffix value.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;Inherit&lt;br /&gt;
    This setting is the default behaviour for controls.  It specifie that a control's ID generation is the same as its parent.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ClientIDMode can be set at the page or control level or in the configuration.  To set it at the page level refer the below example&lt;/p&gt;
&lt;p&gt;&amp;lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"&lt;br /&gt;
                      ClientIDMode = "Predictbale" %&amp;gt;&lt;/p&gt;
&lt;p&gt;The following example shows hwo to To set it in the configuration file &lt;br /&gt;
&amp;lt;system.web&amp;gt;&lt;br /&gt;
       &amp;lt;pages clientIDMode ="Predictable"&amp;gt;&amp;lt;/pages&amp;gt;&lt;br /&gt;
&amp;lt;/system.web&amp;gt;&lt;/p&gt;
&lt;p&gt;For detailed reading refer&lt;br /&gt;
&lt;a href="http://www.asp.net/LEARN/whitepapers/aspnet4/default.aspx"&gt;www.asp.net/LEARN/whitepapers/aspnet4/default.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I have found this feature very handy.  Hope you will like it too.   &lt;br /&gt;
&lt;br /&gt;
Happy Programming !!!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136592"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136592" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136592.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/settingclientid.aspx</guid>
            <pubDate>Sat, 28 Nov 2009 10:16:41 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136592.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/settingclientid.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136592.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136592.aspx</trackback:ping>
        </item>
        <item>
            <title>Tip: ASP.NET 4 Permanently Redirecting a page</title>
            <category>ASP.NET 4.0</category>
            <category>.NET 4</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/tip-asp.net-4-permanently-redirecting-a-page.aspx</link>
            <description>&lt;h1&gt;ASP.NET 4 Permanently Redirecting a page&lt;/h1&gt;
&lt;p&gt;You may have faced this problem of moving pages in a web applications around which can leat to an &lt;br /&gt;
accumulation of state links in search engines.  Traditionally developers have handled requests to old URL's by using&lt;br /&gt;
Response.Redirect method to forward request to new URL.  &lt;br /&gt;
&lt;br /&gt;
However as you may be aware of the Redirect method issues an HTTP 302 Found status (temporary redirect) response&lt;br /&gt;
, which results in an extra HTTP round trip to the server when users attempt to access the old URL's.  This has a performance&lt;br /&gt;
implication as well because of the round trip.&lt;br /&gt;
&lt;br /&gt;
ASP.NET 4 adds a new RedirectPermannent helper method which makes it easy to issue HTTP 301 Moved Permanently&lt;br /&gt;
responses.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: rgb(128, 128, 0);"&gt;&lt;em&gt;RedirectPermanent("/newlocation/oldcontent.aspx")&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
With this addition the search engines and other user agents that recognizse permanent redirects will store the new URL&lt;br /&gt;
that is associated with the content, which eliminates the unnecessary round trip made by the browser for temporary redirects.&lt;br /&gt;
&lt;br /&gt;
You can verify this by observing the request in the Fiddler.  For me I think this feature is pretty useful in migrating application&lt;br /&gt;
from old website to the new one.  Will definitely save a lot of headache.&lt;br /&gt;
 &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136591"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136591" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136591.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/tip-asp.net-4-permanently-redirecting-a-page.aspx</guid>
            <pubDate>Sat, 28 Nov 2009 09:46:42 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136591.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/tip-asp.net-4-permanently-redirecting-a-page.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136591.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136591.aspx</trackback:ping>
        </item>
        <item>
            <title>Tip: ASP.NET 4.0 State Compression</title>
            <category>ASP.NET 4.0</category>
            <category>.NET 4</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/tip-asp.net-4.0-state-compression.aspx</link>
            <description>&lt;h1&gt;ASP.NET 4.0 State Compression&lt;/h1&gt;
&lt;p&gt;Session state compression was always a worry in the past.  With asp.net 4.0 this feature is built into the framework.&lt;br /&gt;
Just modify your web.config with the following changes and you are ready to go.  Now there will be less data travelling &lt;br /&gt;
through the wire.&lt;/p&gt;
&lt;pre class="code_block"&gt;
&amp;lt;sessionState
  mode="SqlServer"
  sqlConnectionString="data source=dbserver;Initial Catalog=aspnetstate"
  allowCustomSqlDatabase="true"
  compressionEnabled="true"
/&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Just add the "compressionEnabled="true" to sessionState config.  The compression is done by&lt;br /&gt;
.NET framework System.IO.Compression.GZipStream class.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136590"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136590" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136590.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/tip-asp.net-4.0-state-compression.aspx</guid>
            <pubDate>Sat, 28 Nov 2009 09:34:04 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136590.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/tip-asp.net-4.0-state-compression.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136590.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136590.aspx</trackback:ping>
        </item>
        <item>
            <title>Some thoughts about application architecture</title>
            <category>architecture</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/some-thoughts-about-application-architecture.aspx</link>
            <description>&lt;h1&gt;Application Architecture Consideration&lt;/h1&gt;
&lt;p&gt;The following is the topics that we have to be good at  as part of our understanding about  "Application Architecture".  I am noting these points &lt;br /&gt;
as it crosses my mind. Will need to add more depth to these points.&lt;br /&gt;
&lt;br /&gt;
- Performance&lt;br /&gt;
- Reliability&lt;br /&gt;
- Availability&lt;br /&gt;
- Security&lt;br /&gt;
- Modifiability&lt;br /&gt;
- Portability&lt;br /&gt;
- Functionality&lt;br /&gt;
- Extensibility&lt;br /&gt;
- Interoperability&lt;br /&gt;
- Usability&lt;br /&gt;
- Maintainability&lt;br /&gt;
- Efficiecy&lt;br /&gt;
- Reusability&lt;br /&gt;
- Ease of Deployment&lt;br /&gt;
- Rollback strategy&lt;br /&gt;
- Configuration Management&lt;br /&gt;
- Administration&lt;br /&gt;
- Scalability&lt;br /&gt;
- Monitoring&lt;br /&gt;
- Development Productivity&lt;/p&gt;
&lt;p&gt;We will be delving deeper into these areas as we go along.  As I delve deeper into these areas the more depth it seems to have.  Never know&lt;br /&gt;
when the hunger for knowledge ends.    The deal is to identify appropriate tools and resources for each are.&lt;/p&gt;
&lt;p&gt;I will invite you you have a look the the following resource &lt;a href="http://highscalability.com/"&gt;highscalability.com/&lt;/a&gt;.  These site details some of the high level architecture of sites &lt;br /&gt;
like ebay, google, 37signals and many more.  I bet you will find this pretty interesting and addictive.&lt;/p&gt;
&lt;p&gt;Happy reading.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136586"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136586" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136586.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/some-thoughts-about-application-architecture.aspx</guid>
            <pubDate>Sat, 28 Nov 2009 06:32:42 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136586.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/some-thoughts-about-application-architecture.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136586.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136586.aspx</trackback:ping>
        </item>
        <item>
            <title>How would you like to grow your skill/career path?</title>
            <category>career</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/how-would-you-like-to-grow-your-skillcareer-path.aspx</link>
            <description>&lt;p&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Career/Skill Path&lt;br /&gt;
&lt;br /&gt;
Each individual is playing different roles.  Some are software engineer,  some are programmer, tech lead, architect, project manager &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(31, 73, 125);"&gt;and so on…&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt; How would your skill to develop  over a period of time so that you can take the next step and will prove to be  true to your designation.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(31, 73, 125);"&gt;Here are some of the check  list…  Check what skills you have and develop the one which you don’t currently  possess.  It’s not just about &lt;br /&gt;
superficial skill, but true skill I am talking  about.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: rgb(31, 73, 125);"&gt; &lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Don’t go over the list by names  and say I know this….  Check whether you truly understand this.  &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt; &lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;AND ALSO DON’T RUN AWAY FROM  THIS LIST.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Over a period of time I will  send some useful info about each of the below areas.  &lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(31, 73, 125);"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Those who are more inclined  towards technology here’s the basic skillset you should have.&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in;"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;&lt;span&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Domain Knowledge&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Finance/Banking&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Healthcare&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Insurance&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in;"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;&lt;span&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;OO&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Principles and Practices&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;SOLID Principles&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;S  – SRP  – Single Responsibility Principle&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;O – OCP – Open Closed Principle&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;L  – LSP   – Liskov Substitution Principle&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;I   – ISP   – Interface Segregation Principle&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;D – DIP   – Dependency Inversion Principle&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in;"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;&lt;span&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;TDD/BDD&lt;/span&gt;&lt;/u&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;  (It’s not just about creating test class, its  about understanding the whole process)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Understanding and appreciating TDD or TFD&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;How to move towards BDD (Behaviour Driven  Development)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in;"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;&lt;span&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;DDD (Domain Driven Design)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in;"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;&lt;span&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Databases&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;SQL Server&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Business Intelligence&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Datawarehouse&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in;"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;&lt;span&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Design Patterns&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Good awareness about GOF patterns (All 23)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Enterprise patterns&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Domain Logic Pattens&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Transaction Script&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Domain Model&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Table Module&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Service Layer&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Data Source Patterns&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Table Data Gateway&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Row Data Gateway&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Active Record&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Data Mapper&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Object Relational Behavioral Pattern&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Unit of Work&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Identity Map&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Lazy Load&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Object Relational Metadata Mapping Patterns&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Metadata Mapping&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Query Object&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Repository&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Web Presentation Patterns&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;MVC&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Page Controller&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Front Controller&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Template View&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Application Controller&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;MVP&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;MVVM&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Distribution Patterns&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Remote Façade&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Data Transfer Object&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Offline Concurrency Patterns&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Optimistic Offline Lock&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Pessimistic Offline Lock&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Coarse-Grained Lock&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Implicit Lock&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Session State Patterns&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Client Session State&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Server Session State&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Database Session State&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Foundational Patterns&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Gateway&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Mapper&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Layer Supertype&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Value Object&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Plugin&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 2in;"&gt;&lt;span style="font-family: Symbol; color: rgb(31, 73, 125);"&gt;&lt;span&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Service Stub&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Refactoring Patterns&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Dependency Injection/IOC Framework&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Unity Application Block&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;StructureMap&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Castle Windsor&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Spring.NET&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Autofac&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;LinFu&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;PicoContainer.NET&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Instrumentation (includes logging)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Technologies&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;ASP.NET 3.5 +&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;WCF (XML + XSD +  WSDL +  SOAP + REST + SOA)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;LINQ &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;ASP.NET MVC&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;WF&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1.5in;"&gt;&lt;span style="font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Sharepoint 2007&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Those interested in project  management here’s the basic skillset&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Apart from good awareness of the  above skills following are some areas where you need to concentrate  on&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in;"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;&lt;span&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;u&gt;People skills&lt;/u&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Dealing with people&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Effective communication&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Goal orientation&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Target setting&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in;"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;&lt;span&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Estimation Techniques&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Use case&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Function points (…. More)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in;"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;&lt;span&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Agile Methodology&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;SCRUM &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;DSDM&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in;"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;&lt;span&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Tools&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;MS Excel/Word&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin-left: 1in;"&gt;&lt;span style="font-family: 'Courier New'; color: rgb(31, 73, 125);"&gt;&lt;span&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;MS Project&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in;"&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;&lt;span&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;          &lt;/span&gt;Hope you enjoyed this post.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136582"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136582" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136582.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/how-would-you-like-to-grow-your-skillcareer-path.aspx</guid>
            <pubDate>Sat, 28 Nov 2009 06:19:03 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136582.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/28/how-would-you-like-to-grow-your-skillcareer-path.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136582.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136582.aspx</trackback:ping>
        </item>
    </channel>
</rss>