<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Mahesh's brain droppings</title>
	<atom:link href="http://blogesh.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogesh.wordpress.com</link>
	<description>Watch out! They are everywhere...</description>
	<lastBuildDate>Thu, 08 Oct 2009 06:32:16 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='blogesh.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/02e01eacf142a0d0fc22fc9917259a85?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Mahesh's brain droppings</title>
		<link>http://blogesh.wordpress.com</link>
	</image>
			<item>
		<title>Separate certificates for Transport and Message security in WCF</title>
		<link>http://blogesh.wordpress.com/2009/10/08/separate-certificates-for-transport-and-message-security-in-wcf/</link>
		<comments>http://blogesh.wordpress.com/2009/10/08/separate-certificates-for-transport-and-message-security-in-wcf/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 06:26:01 +0000</pubDate>
		<dc:creator>blogesh</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[WCF; Certificate; Transport; Message]]></category>

		<guid isPermaLink="false">http://blogesh.wordpress.com/2009/10/08/separate-certificates-for-transport-and-message-security-in-wcf/</guid>
		<description><![CDATA[I’ve been busy of late writing my first book and doing so many other things that I haven’t had time to post anything on my blog. Now that I&#8217;ve got the book out of the way, I thought I should post something here. And what better topic than WCF  
Recently, I had to interact [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=139&subd=blogesh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I’ve been busy of late writing my first book and doing so many other things that I haven’t had time to post anything on my blog. Now that I&#8217;ve got the book out of the way, I thought I should post something here. And what better topic than WCF <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Recently, I had to interact with a financial institution using WCF for a Customer. The Service that the financial institution exposed was not written in WCF or .NET &#8211; not that it matters, but there were a number of specific things that had to be done to get it to work:</p>
<ul>
<li>We needed to use transport security (https) that had to be encrypted using a specific X509 certificate
<li>The body of the message had to be signed using another X509 certificate
<li>The reply from the service did not have any security credentials attached to it – i.e. the transport was secure, but the message was not signed or encrypted </li>
</ul>
<p>This may seem pretty straight forward – All you had to do is create a custom binding and specify something like this –</p>
<pre>
<pre class="brush: xml;">
&lt;custombinding&gt;
  &lt;binding name="Custom"&gt;
    &lt;security messagesecurityversion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"
      authenticationmode="MutualCertificate"
    /&gt;
    &lt;httpstransport requireclientcertificate="true"
      authenticationscheme="Negotiate"
      usedefaultwebproxy="true"
      manualaddressing="false"
    /&gt;
  &lt;/binding&gt;
&lt;/custombinding&gt;
</pre>
</pre>
<p>The problem is that you can specify only one certificate in&nbsp; Client credentials&nbsp; and both message security as well as transport security will use the same certificate – we want to use two separate ones. </p>
<p>The solution to this is to add a new behavior that takes care of this. But rather than creating the behavior from scratch, an easier alternative is to extend the <strong>ClientCredentials</strong> class to cater for this additional certificate. So, I decided to use the existing certificate stored in ClientCredentials for message security and to add a separate property to hold the certificate for the Transport as shown in the code below &#8211; </p>
<pre>
<pre class="brush: csharp;">
///
/// Class that extends Client Credentials so that the certificate for the
/// Transport layer encryption can be separate
///
public class MyCredentials : ClientCredentials
{
  /// &lt;summary&gt;
  /// The X509 Certificate that is to be used for https
  /// &lt;/summary&gt;
  public X509Certificate2 TransportCertificate { get; set; }

  public MyCredentials(ClientCredentials existingCredentials)
    : base(existingCredentials)
  {
  }

  protected MyCredentials(MyCredentials other)
    : base(other)
  {
    TransportCertificate = other.TransportCertificate;
  }

  protected override ClientCredentials CloneCore()
  {
    return new MyCredentials(this);
  }

  public override SecurityTokenManager CreateSecurityTokenManager()
  {
    return new MyCredentialsSecurityTokenManager(this);
  }

  public void SetTransportCertificate(string subjectName, StoreLocation storeLocation, StoreName storeName)
  {
    SetTransportCertificate(storeLocation, storeName, X509FindType.FindBySubjectDistinguishedName, subjectName);
  }

  public void SetTransportCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType x509FindType, string subjectName)
  {
    TransportCertificate = FindCertificate(storeLocation, storeName, x509FindType, subjectName);
  }

  private static X509Certificate2 FindCertificate(StoreLocation location, StoreName name,
    X509FindType findType, string findValue)
  {
    X509Store store = new X509Store(name, location);
    try
    {
      store.Open(OpenFlags.ReadOnly);
      X509Certificate2Collection col = store.Certificates.Find(findType, findValue, true);
      return col[0]; // return first certificate found
    }
    finally
    {
      store.Close();
    }
  }

}
</pre>
</pre>
<p>As part of the class, I added some helper methods to set the Transport certificate from code and also overrode the <strong>CreateSecurityTokenManager</strong> method so that I can create my own <strong>SecurityTokenManager</strong> that figures out which certificate to use for what operation. </p>
<p>But again, rather than create this class from scratch, I just extended the <strong>ClientCredentialsSecurityTokenManager</strong> class that ClientCredentials uses. In it I overrode the <strong>CreateSecurityTokenProvider</strong> method so that when a certificate is requested for Transport security, we pass back TransportCertificate that is stored in the MyCredentials object as shown in the code below -</p>
<pre>
<pre class="brush: csharp;">
internal class MyCredentialsSecurityTokenManager :
    ClientCredentialsSecurityTokenManager
{
    MyCredentials credentials;

    public MyCredentialsSecurityTokenManager(MyCredentials credentials)
        : base(credentials)
    {
        this.credentials = credentials;
    }

    public override SecurityTokenProvider CreateSecurityTokenProvider(
        SecurityTokenRequirement requirement)
    {
        SecurityTokenProvider result = null;

        if (requirement.Properties.ContainsKey(ServiceModelSecurityTokenRequirement.TransportSchemeProperty) &amp;&amp;
            requirement.TokenType == SecurityTokenTypes.X509Certificate)
        {
            result = new X509SecurityTokenProvider(
                this.credentials.TransportCertificate);
        }
        else if (requirement.KeyUsage == SecurityKeyUsage.Signature &amp;&amp;
            requirement.TokenType == SecurityTokenTypes.X509Certificate)
        {
            result = new X509SecurityTokenProvider(
                this.credentials.ClientCertificate.Certificate);
        }
        else
        {
            result = base.CreateSecurityTokenProvider(requirement);
        }

        return result;
    }

}
</pre>
</pre>
<p>The last step is create the stuff necessary to be able to specify this in your config file. For that I extended the <strong>ClientCredentialsElement</strong>, so that I can specify the Transport Certificate as a behavior using the code below &#8211; </p>
<pre>
<pre class="brush: csharp;">
class ClientCredentialsExtensionElement : ClientCredentialsElement
{
    ConfigurationPropertyCollection properties;

    public override Type BehaviorType
    {
        get
        {
            return typeof(MyCredentials);
        }
    }

    [ConfigurationProperty("transportCertificate")]
    public X509InitiatorCertificateClientElement TransportCertificate
    {
        get
        {
            return base["transportCertificate"]
                as X509InitiatorCertificateClientElement;
        }
    }

    protected override ConfigurationPropertyCollection Properties
    {
        get
        {
            if (this.properties == null)
            {
                ConfigurationPropertyCollection properties = base.Properties;
                properties.Add(new ConfigurationProperty(
                    "transportCertificate",
                    typeof(X509InitiatorCertificateClientElement),
                    null, null, null,
                    ConfigurationPropertyOptions.None));
                this.properties = properties;
            }
            return this.properties;
        }
    }

    protected override object CreateBehavior()
    {
        MyCredentials creds = new MyCredentials(
            base.CreateBehavior() as ClientCredentials);

        PropertyInformationCollection properties =
            ElementInformation.Properties;

        creds.SetTransportCertificate(TransportCertificate.StoreLocation,
                                        TransportCertificate.StoreName,
                                        TransportCertificate.X509FindType,
                                        TransportCertificate.FindValue);

        base.ApplyConfiguration(creds);
        return creds;
    }
}
</pre>
</pre>
<p>With the changes made, you should be able to replace the <strong>clientCredential</strong> section in your config file with the <strong>clientCredentialsExtension</strong> section. Something like this &#8211; </p>
<pre></pre>
<pre>
<pre class="brush: xml;">

&lt;system.serviceModel&gt;
...
 &lt;extensions&gt;
   &lt;behaviorExtensions&gt;
     &lt;add name="clientCredentialsExtension" type="MyNamespace.ClientCredentialsExtensionElement, MyAssemblyName" /&gt;
   &lt;/behaviorExtensions&gt;

 &lt;/extensions&gt;
 &lt;behaviors&gt;
   &lt;endpointBehaviors&gt;
     &lt;behavior name="SecureMessageAndTransportBehavior"&gt;

       &lt;clientCredentialsExtension&gt;

         &lt;!--This cert is used for signing the message--&gt;
         &lt;clientCertificate findValue="YourMessageCertName"
                            storeLocation ="LocalMachine"
                            storeName="My"
                            x509FindType="FindBySubjectName"
                            /&gt;

         &lt;!--This cert is used for the transport--&gt;
         &lt;transportCertificate findValue="YourTransportCertName"
                            storeLocation ="LocalMachine"
                            storeName="My"
                            x509FindType="FindBySubjectName"
                            /&gt;

       &lt;/clientCredentialsExtension&gt;

     &lt;/behavior&gt;
   &lt;/endpointBehaviors&gt;
 &lt;/behaviors&gt;

&lt;/system.serviceModel&gt;
</pre>
</pre>
<p>That’s it – you are all set to go. Just make sure that you set this behavior for your endpoint.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blogesh.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blogesh.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blogesh.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blogesh.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blogesh.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blogesh.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blogesh.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blogesh.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blogesh.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blogesh.wordpress.com/139/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=139&subd=blogesh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blogesh.wordpress.com/2009/10/08/separate-certificates-for-transport-and-message-security-in-wcf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7eea7841cd725156f1b71bfdb547e7ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blogesh</media:title>
		</media:content>
	</item>
		<item>
		<title>Speaking at SDDN on 30th June</title>
		<link>http://blogesh.wordpress.com/2009/06/21/speaking-at-sddn-on-30th-june/</link>
		<comments>http://blogesh.wordpress.com/2009/06/21/speaking-at-sddn-on-30th-june/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 23:29:34 +0000</pubDate>
		<dc:creator>blogesh</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[User group]]></category>
		<category><![CDATA[Presentation]]></category>
		<category><![CDATA[SDDN]]></category>

		<guid isPermaLink="false">http://blogesh.wordpress.com/2009/06/21/speaking-at-sddn-on-30th-june/</guid>
		<description><![CDATA[I will be presenting on the new features in Expression Blend 3 at the Silverlight Designer and Developer Network (SDDN) on Tuesday the 30th of June, 2009 at 6:00pm. Here is the basic blurb for the talk &#8211; 
Expression Blend 3 &#8211; What&#8217;s new?
Expression Blend 3 improves upon the goodness of Blend 2 SP 1 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=138&subd=blogesh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I will be presenting on the new features in Expression Blend 3 at the <a href="http://www.sddn.org.au/">Silverlight Designer and Developer Network (SDDN)</a> on Tuesday the 30th of June, 2009 at 6:00pm. Here is the basic blurb for the talk &#8211; </p>
<blockquote><p><strong>Expression Blend 3 &#8211; What&#8217;s new?</strong></p>
<p><strong>Expression Blend 3</strong> improves upon the goodness of Blend 2 SP 1 by providing a whole heap of new features and more importantly, the ability to create applications for Silverlight 3. The list of new enhancements is long – Lots of improvements to the way you use the tool, Improvements to how XAML, C# and VB.NET files are edited, Support for importing Adobe Photoshop and Illustrator files, Skinning enhancements, Enhancements for animation, Sample data generation, etc, etc. </p>
<p><strong>Mahesh Krishnan</strong> will run through these changes in a fast demo based session (without using Powerpoint!) The session is targeted at both Designers and Developers, so don&#8217;t miss out <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
</blockquote>
<p>The venue is the Microsoft office in Melbourne. </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blogesh.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blogesh.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blogesh.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blogesh.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blogesh.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blogesh.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blogesh.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blogesh.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blogesh.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blogesh.wordpress.com/138/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=138&subd=blogesh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blogesh.wordpress.com/2009/06/21/speaking-at-sddn-on-30th-june/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7eea7841cd725156f1b71bfdb547e7ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blogesh</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk on Application Architecture</title>
		<link>http://blogesh.wordpress.com/2009/05/07/talk-on-application-architecture/</link>
		<comments>http://blogesh.wordpress.com/2009/05/07/talk-on-application-architecture/#comments</comments>
		<pubDate>Thu, 07 May 2009 23:54:01 +0000</pubDate>
		<dc:creator>blogesh</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Readify]]></category>
		<category><![CDATA[User group]]></category>
		<category><![CDATA[Application Architecture Guide]]></category>
		<category><![CDATA[Architecture]]></category>

		<guid isPermaLink="false">http://blogesh.wordpress.com/2009/05/07/talk-on-application-architecture/</guid>
		<description><![CDATA[I will be presenting on Application Architecture Guide on Tuesday the 12th of May, 2009 at the Victoria .NET Dev SIG. Here is the blurb for the talk -
Microsoft patterns and practices group released the Application Architecture Guide v2.0 early this year and Mahesh Krishnan walks us through what is present in the guide. He [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=137&subd=blogesh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I will be presenting on <strong>Application Architecture Guide</strong> on Tuesday the 12th of May, 2009 at the <strong>Victoria .NET Dev SIG</strong>. Here is the blurb for the talk -</p>
<blockquote><p>Microsoft patterns and practices group released the Application Architecture Guide v2.0 early this year and <strong>Mahesh Krishnan</strong> walks us through what is present in the guide. He talks about the design-level guidance it offers, deployment patterns, different architectural styles, understanding quality requirements, archetypes and much much more.</p>
<p>You don&#8217;t have to be an architect to attend, so don&#8217;t miss out.</p>
</blockquote>
<p>Attendance is free, but RSVP to <a href="mailto:info@victoriadotnet.com.au">info@victoriadotnet.com.au</a>. So, if you happen to be in Melbourne, drop by to heckle or cheer <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<ul>
<li><strong>When: </strong>12th May, 2009, 6:00pm. Be early for free pizzas <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><strong>Where:</strong> Microsoft Theatre, Level 5, 4 Freshwater Place, Southbank</li>
</ul>
<p><a href="http://blog.sharpthinking.com.au">Tarn Barford</a> will also be giving a talk on IronPython, which I am really looking forward to.</p>
<p>On the same night, we are also having a Windows 7 Install Fest with a bit of introduction on Win 7 given by Dave Glover. More details can be found on <a href="http://blogs.msdn.com/dglover/archive/2009/05/07/windows-7-intro-and-install-fest-victoria-net-melb-tue-may-12-2009.aspx">Dave Glover’s blog</a> about the Install fest. </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blogesh.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blogesh.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blogesh.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blogesh.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blogesh.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blogesh.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blogesh.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blogesh.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blogesh.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blogesh.wordpress.com/137/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=137&subd=blogesh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blogesh.wordpress.com/2009/05/07/talk-on-application-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7eea7841cd725156f1b71bfdb547e7ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blogesh</media:title>
		</media:content>
	</item>
		<item>
		<title>Introduction to Windows Workflow</title>
		<link>http://blogesh.wordpress.com/2009/04/21/introduction-to-windows-workflow/</link>
		<comments>http://blogesh.wordpress.com/2009/04/21/introduction-to-windows-workflow/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 12:07:14 +0000</pubDate>
		<dc:creator>blogesh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[WF; Presentation; Introduction]]></category>

		<guid isPermaLink="false">http://blogesh.wordpress.com/2009/04/21/introduction-to-windows-workflow/</guid>
		<description><![CDATA[I created an Introduction to Windows Workflow presentation for the team and thought I’d share it here:
Windows Workflow Foundation – An Introduction
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=134&subd=blogesh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I created an Introduction to Windows Workflow presentation for the team and thought I’d share it here:</p>
<p><a href="http://blogesh.files.wordpress.com/2009/04/workflow-an-introduction.pptx">Windows Workflow Foundation – An Introduction</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blogesh.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blogesh.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blogesh.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blogesh.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blogesh.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blogesh.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blogesh.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blogesh.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blogesh.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blogesh.wordpress.com/134/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=134&subd=blogesh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blogesh.wordpress.com/2009/04/21/introduction-to-windows-workflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7eea7841cd725156f1b71bfdb547e7ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blogesh</media:title>
		</media:content>
	</item>
		<item>
		<title>&quot;Introducing Microsoft&#174; Silverlight&#8482; 2&quot; &#8211; Book review</title>
		<link>http://blogesh.wordpress.com/2009/04/20/introducing-microsoft-silverlight-2-book-review/</link>
		<comments>http://blogesh.wordpress.com/2009/04/20/introducing-microsoft-silverlight-2-book-review/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 13:04:59 +0000</pubDate>
		<dc:creator>blogesh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Silverlight; Book review]]></category>

		<guid isPermaLink="false">http://blogesh.wordpress.com/2009/04/20/introducing-microsoft-silverlight-2-book-review/</guid>
		<description><![CDATA[I asked for MS Press to send me a copy of Lawrence Moroney&#8217;s Introducing Microsoft® Silverlight™ 2 book, so that I can review it. The idea was to give it away at the next SDDN user group meeting as a door prize. 
 
To start with, I was a bit disappointed that the book was [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=132&subd=blogesh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I asked for <a href="http://www.mspress.com.au/">MS Press</a> to send me a copy of Lawrence Moroney&#8217;s <a href="http://www.mspress.com.au/searchresults.aspx?s=a2V5d29yZA==-I7x1ozBkcPY=&amp;k=SW50cm9kdWNpbmcgTWljcm9zb2Z0wq4gU2lsdmVybGlnaHTihKIgMiwgU2Vjb25kIEVkaXRpb24g-Pb91zarM8IE"><strong>Introducing Microsoft® Silverlight™ 2</strong></a> book, so that I can review it. The idea was to give it away at the next <a href="http://www.sddn.org.au">SDDN</a> user group meeting as a door prize. </p>
<p><a href="http://blogesh.files.wordpress.com/2009/04/97807356252801.jpg"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="9780735625280[1]" border="0" alt="9780735625280[1]" src="http://blogesh.files.wordpress.com/2009/04/97807356252801-thumb.jpg?w=113&#038;h=137" width="113" height="137" /></a> </p>
<p>To start with, I was a bit disappointed that the book was still for the beta edition, rather than the release version of Silverlight 2. But there aren&#8217;t any radical changes between SL 2 Beta and Release, so I guess it is not too bad. (Lawrence Moroney has since made online <a href="http://blogs.msdn.com/webnext/archive/2008/10/09/introducing-silverlight-2-code-updates-for-rc0-rtm.aspx">updates to the book</a> for the release version in <a href="http://blogs.msdn.com/webnext/">his blog</a> and has also been working on updates to SL 3 beta (which can be found <a href="http://go.microsoft.com/?linkid=9654953&quot;">here</a>) </p>
<p>As the title of the book suggests, it is an introductory book, but even people with some knowledge of Silverlight will still find this useful.</p>
<p>The book itself is divided in to two parts &#8211; The first part covers the introductory topics and starts off by covering Expression Blend. After giving a thorough introduction to Blend, Lawrence moves on to Silverlight development using Visual Studio. Being an introductory book, I feel that Lawrence could have started off with a much simpler example (like a “Hello World”) &#8211; but he jumps right into a sliding block game. The book also assumes knowledge of C# and there aren&#8217;t any VB.NET examples. Being a C# person, myself. I didn’t mind this at all <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , but others may. The book then moves on to XAML and Lawrence does a good job talking about XAML shapes, brushes, transformations etc. and the last chapter in the first part &#8211; &quot;Silverlight Browser&quot; is particularly good. </p>
<p>The second part of the book is on Programming in Silverlight and Lawrence starts off talking about all the Silverlight controls including DataGrid, and the now defunct WatermarkedTextBoxControl. I haven’t had a look at Lawrence Moroney’s updates in his blog, but I would imagine that it addresses this and other breaking changes that were caused when Silverlight moved from Beta 1 to 2 and eventually to Release. </p>
<p>There are a couple of great chapters in Part 2 &#8211; “Building Connected Applications with Silverlight” and “Media, Ink and Deep Zoom”. Although I liked these chapters, they were probably a bit advanced for an introductory book. To add to it, there has been some changes to things like Deep Zoom composer. The “Building connected Applications..” chapter also includes some interesting sections on generating XAML using PHP and Java.</p>
<p>The chapter on Styles and Templates was a bit light on, particularly the section on templates. There could have also been a section on how to do some of these things using Expression Blend. The book finishes off with examples of creating Silverlight apps using dynamic languages such as Python and Ruby.</p>
<p>Although I’ve pointed out a few negative things as part of the review, the book on the whole is actually quite good and really worth a read and own for anyone wanting to start development in Silverlight 2. </p>
<p><strong>Summary: </strong>A very good introductory book on Silverlight. Need a bit of knowledge on C#, but if you have any programming knowledge, you should be able to get by.</p>
<p><strong>Rating:</strong> 4/5     <br /><strong></strong></p>
<p><strong>Pros: </strong>Good strong introduction, Covers some advanced topics like using Silverlight with Java, PHP and dynamic languages</p>
<p><strong>Cons: </strong>Does not have VB.NET examples. Very light on some topics like Data binding, Templates and Visual state manager.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blogesh.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blogesh.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blogesh.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blogesh.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blogesh.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blogesh.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blogesh.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blogesh.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blogesh.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blogesh.wordpress.com/132/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=132&subd=blogesh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blogesh.wordpress.com/2009/04/20/introducing-microsoft-silverlight-2-book-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7eea7841cd725156f1b71bfdb547e7ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blogesh</media:title>
		</media:content>

		<media:content url="http://blogesh.files.wordpress.com/2009/04/97807356252801-thumb.jpg" medium="image">
			<media:title type="html">9780735625280[1]</media:title>
		</media:content>
	</item>
		<item>
		<title>WPF Community Workshop</title>
		<link>http://blogesh.wordpress.com/2009/03/12/wpf-community-workshop/</link>
		<comments>http://blogesh.wordpress.com/2009/03/12/wpf-community-workshop/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 13:39:39 +0000</pubDate>
		<dc:creator>blogesh</dc:creator>
				<category><![CDATA[User group]]></category>
		<category><![CDATA[WPF; Training; Workshop; Victoria .NET]]></category>

		<guid isPermaLink="false">http://blogesh.wordpress.com/2009/03/12/wpf-community-workshop/</guid>
		<description><![CDATA[Ok, so you’ve seen Windows Presentation Foundation (WPF) and you thought the technology looked interesting. You know your applications are starting to look dated, you understand WPF has matured, now in its 3rd release; but life gets in the way and you haven’t had the chance to get down and dirty with it yet. So [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=129&subd=blogesh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Ok, so you’ve seen Windows Presentation Foundation (WPF) and you thought the technology looked interesting. You know your applications are starting to look dated, you understand WPF has matured, now in its 3<sup>rd</sup> release; but life gets in the way and you haven’t had the chance to get down and dirty with it yet. So here’s your opportunity to skill up, and raise money for the Red Cross Bushfire Appeal, in this One-Day Workshop!!</p>
<p>To help you get to grips with this great technology quickly, Microsoft has created a series of Hands on Labs and Presentations. These will grow your skill set, putting you on the path to building the rich user interfaces your customers are demanding.</p>
<p>This training event comes to you courtesy of the .NET User Groups across Australia, and <a href="http://www.cliftons.com.au/"><b>Cliftons</b></a>, who are generously providing their training facilities at minimal cost. This is your chance to learn new skills, network with other professionals, and have a bit of fun along the way.</p>
<h4>Registration and Payment</h4>
<p>There is a nominal charge of $100. With the help of <a href="http://www.cliftons.com.au/"><b>Cliftons</b></a> we are keeping costs minimal and if we fill all workshops across the country then this event will raise close to <b>$23,000</b> for the Red Cross “<a href="http://www.redcross.org.au/vic/services_emergencyservices_victorian-bushfires-appeal-2009.htm"><b>Victorian Bushfire Appeal 2009</b></a>”.</p>
<p>Places are limited and to register interest please send a mail to mahesh dot krishnan at readify dot net </p>
<h4>Workshop Format</h4>
<p>To make it easy for you to attend we are running the workshops on a Saturday in all major cities. The sessions will commence at 8.30am with registration. Check the schedule below for the date and location in Melbourne.</p>
<p>Following a 10 to 15 minute introduction to each topic, you will kick start Visual Studio 2008 and Expression Blend and work on the relevant lab!! Regardless of your current level of experience, you can work at your own pace; a facilitator will be on hand to guide your learning; and you’ll be able to take the lab content home for further learning. </p>
<h4>Content</h4>
<p>The WPF Skills day will cover </p>
<ol>
<li>Creating layouts, compositions and templates </li>
<li>Building custom controls </li>
<li>Working with Styles and control templates (includes using Expression Blend to restyle) </li>
<li>Using the Ribbon control to effortlessly create applications that are as familiar to your customers as Office 2007 (not to mention the Windows 7 Core Applications) </li>
<li>Working with the new DataGrid control to display tabular and editable data </li>
<li>Binding data with ease to your user interface </li>
<li>And more&#8230; </li>
</ol>
<h4>Event Dates</h4>
<p>The Windows Presentation Foundation Community workshop in Melbourne is to be held on Saturday, March 28<sup>th</sup>, 2009 at Cliftons on Collins Street.</p>
<h4>Be in to Win</h4>
<p>The workshop will also feature a prize draw to win a copy of Visual Studio 2008. Nice!!</p>
<p>So get clicking and sign up by sending a mail to mahesh dot krishnan at readify dot net and tell your mates about the day, learn something new and help out the Bushfire victims!!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blogesh.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blogesh.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blogesh.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blogesh.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blogesh.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blogesh.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blogesh.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blogesh.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blogesh.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blogesh.wordpress.com/129/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=129&subd=blogesh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blogesh.wordpress.com/2009/03/12/wpf-community-workshop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7eea7841cd725156f1b71bfdb547e7ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blogesh</media:title>
		</media:content>
	</item>
		<item>
		<title>WCF Presentation slides</title>
		<link>http://blogesh.wordpress.com/2009/02/11/wcf-presentation-slides/</link>
		<comments>http://blogesh.wordpress.com/2009/02/11/wcf-presentation-slides/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 11:51:39 +0000</pubDate>
		<dc:creator>blogesh</dc:creator>
				<category><![CDATA[WCF]]></category>
		<category><![CDATA[Practical WCF]]></category>
		<category><![CDATA[Presentation]]></category>
		<category><![CDATA[Slides]]></category>

		<guid isPermaLink="false">http://blogesh.wordpress.com/2009/02/11/wcf-presentation-slides/</guid>
		<description><![CDATA[I’ve given a WCF presentation a number of times and every time some one asks me for the slide deck. And I keep saying that I’ll post it in my blog, but have been guilty of not doing it.
So, finally after a bit of prodding, I decided to post one. This one is called Practical [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=128&subd=blogesh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I’ve given a WCF presentation a number of times and every time some one asks me for the slide deck. And I keep saying that I’ll post it in my blog, but have been guilty of not doing it.</p>
<p>So, finally after a bit of prodding, I decided to post one. This one is called Practical WCF and is part 1 of a series. It gives a fair bit of introduction to WCF and also talks about Service contracts, Data contracts and Fault contracts. </p>
<p>Here is the link to download it: <a href="http://www.maheshkrishnan.com/Practical%20WCF%20Part%201.ppsx">Practical WCF Part 1. ppsx</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blogesh.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blogesh.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blogesh.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blogesh.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blogesh.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blogesh.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blogesh.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blogesh.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blogesh.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blogesh.wordpress.com/128/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=128&subd=blogesh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blogesh.wordpress.com/2009/02/11/wcf-presentation-slides/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7eea7841cd725156f1b71bfdb547e7ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blogesh</media:title>
		</media:content>
	</item>
		<item>
		<title>Silverlight in a day &#8211; Update</title>
		<link>http://blogesh.wordpress.com/2009/02/11/silverlight-in-a-day-update/</link>
		<comments>http://blogesh.wordpress.com/2009/02/11/silverlight-in-a-day-update/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 10:34:42 +0000</pubDate>
		<dc:creator>blogesh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://blogesh.wordpress.com/2009/02/11/silverlight-in-a-day-update/</guid>
		<description><![CDATA[We’ve had an overwhelming response for the “Silverlight in a day” event. Unfortunately, there are only a limited number of seats available. If you have been successful, you should be getting mails soon. If you haven’t been successful, we’ll let you know as well. Hopefully, we can run the event again and those who couldn’t [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=127&subd=blogesh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>We’ve had an overwhelming response for the <strong>“<a href="http://blogesh.wordpress.com/2009/01/22/silverlight-in-a-day/">Silverlight in a day</a>”</strong> event. Unfortunately, there are only a limited number of seats available. If you have been successful, you should be getting mails soon. If you haven’t been successful, we’ll let you know as well. Hopefully, we can run the event again and those who couldn’t find a place this time around can get one then.</p>
<p>The training will be facilitated by Philip Beadle, Jordan Knight and myself. As the trainer presents the lessons, the attendees will follow along on their own machine. </p>
<p><b></b></p>
<p>The following topics will be covered on the day:</p>
<ul>
<li>Introduction to Silverlight</li>
<li>Introduction to XAML </li>
<li>Introduction to Expression Blend&#160; / rest of Expression Suite </li>
<li>Layout controls </li>
<li>Advanced XAML concepts – Binding, Templates / reuse, Overview VSM / Parts + States Model </li>
<li>Networking </li>
<li>Media </li>
</ul>
<p>Check out <a href="http://www.sddn.org.au">http://www.sddn.org.au</a> for updates.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blogesh.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blogesh.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blogesh.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blogesh.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blogesh.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blogesh.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blogesh.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blogesh.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blogesh.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blogesh.wordpress.com/127/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=127&subd=blogesh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blogesh.wordpress.com/2009/02/11/silverlight-in-a-day-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7eea7841cd725156f1b71bfdb547e7ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blogesh</media:title>
		</media:content>
	</item>
		<item>
		<title>Silverlight in a day</title>
		<link>http://blogesh.wordpress.com/2009/01/22/silverlight-in-a-day/</link>
		<comments>http://blogesh.wordpress.com/2009/01/22/silverlight-in-a-day/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 12:51:56 +0000</pubDate>
		<dc:creator>blogesh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[SDDN]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[User group]]></category>

		<guid isPermaLink="false">http://blogesh.wordpress.com/2009/01/22/silverlight-in-a-day/</guid>
		<description><![CDATA[Jordan, Phil and I have been working towards running a full day community event in Melbourne to promote Silverlight as part of the Silverlight Developer and Designer Network (SDDN) and I am happy to announce some of the details:
The Event: Silverlight in a day
The SDDN invites you to come along and get your hands dirty [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=124&subd=blogesh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://jakkaj.wordpress.com/">Jordan</a>, <a href="http://philipbeadle.net/Default.aspx">Phil</a> and I have been working towards running a full day community event in Melbourne to promote Silverlight as part of the Silverlight Developer and Designer Network (<a href="http://sddn.org.au/">SDDN</a>) and I am happy to announce some of the details:</p>
<p><strong>The Event: </strong>Silverlight in a day</p>
<p>The SDDN invites you to come along and get your hands dirty with Silverlight 2! Learn how to build Silverlight Applications using Visual Studio and Expression Studio. </p>
<p>In this instructor led one day course the attendees will be able to work their way through hands-on labs and gain invaluable insight into the technology and how they can use it to create Rich Internet Applications (RIA). </p>
<p>Gain an understanding of varied Silverlight topics such as XAML, animation, data binding, communication and more and get the start you need to create great Silverlight applications! </p>
<p>Get in fast as spaces are limited…</p>
<p><strong>When: </strong>Saturday 21st February 2009</p>
<p><strong>Where: </strong>Cliftons on Collins St, Melbourne</p>
<p><strong>Cost: </strong>$0. Nothing. Nada. FREE! (And we are trying to squeeze in a free lunch too – Whoever said there was no such thing as&#160; free lunch?)</p>
<p><strong>Contact:</strong> info @ sddn.org.au to reserve your spot!</p>
<p>I will provide more details about the event as and when they become available. A big thanks to ShaneMo, Joerg and the guys at Microsoft for making this event possible.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blogesh.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blogesh.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blogesh.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blogesh.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blogesh.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blogesh.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blogesh.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blogesh.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blogesh.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blogesh.wordpress.com/124/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=124&subd=blogesh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blogesh.wordpress.com/2009/01/22/silverlight-in-a-day/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7eea7841cd725156f1b71bfdb547e7ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blogesh</media:title>
		</media:content>
	</item>
		<item>
		<title>Expression Blend for Silverlight Developers</title>
		<link>http://blogesh.wordpress.com/2008/10/21/expression-blend-for-silverlight-developers/</link>
		<comments>http://blogesh.wordpress.com/2008/10/21/expression-blend-for-silverlight-developers/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 21:23:46 +0000</pubDate>
		<dc:creator>blogesh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[RDN]]></category>
		<category><![CDATA[Readify]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://blogesh.wordpress.com/2008/10/21/expression-blend-for-silverlight-developers/</guid>
		<description><![CDATA[That’s the title of my talk for RDN and here is the write up -
You don’t have to dress in black or wear turtle neck jumpers to use Expression Blend!
In this ReadiDepth session, Mahesh will show how developers can use Expression Blend to create rich Silverlight 2.0 user interfaces.

When and where is it on? Here [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=122&subd=blogesh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>That’s the title of my talk for RDN and here is the write up -</p>
<blockquote><p>You don’t have to dress in black or wear turtle neck jumpers to use Expression Blend!</p>
<p>In this ReadiDepth session, Mahesh will show how developers can use Expression Blend to create rich Silverlight 2.0 user interfaces.</p>
</blockquote>
<p><em>When and where is it on?</em> Here are the details -</p>
<p><b>Sydney:</b><b></b></p>
<p><b></b></p>
<p><em>Wednesday 22 October, 6:00pm – 8:00pm      <br /></em>Cliftons, 190 George Street, Sydney</p>
</p>
<p><b>Melbourne:</b><b></b></p>
<p><b></b></p>
<p><em>Thursday 23 October, 6:00pm – 8:00pm      <br /></em>Cliftons, 440 Collins Street, Melbourne</p>
</p>
<p><em>Friday 24 October, 8:00am – 10:00am      <br /></em>Microsoft, Level 5, 4 Freshwater Place, Southbank<b></b></p>
<p>It is <strong>free</strong> to attend, but you <a target="_blank" href="https://bookings.readify.net/Courses.mvc/List/RDN">need to register for the event</a> first.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blogesh.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blogesh.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blogesh.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blogesh.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blogesh.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blogesh.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blogesh.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blogesh.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blogesh.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blogesh.wordpress.com/122/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogesh.wordpress.com&blog=735904&post=122&subd=blogesh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blogesh.wordpress.com/2008/10/21/expression-blend-for-silverlight-developers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7eea7841cd725156f1b71bfdb547e7ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blogesh</media:title>
		</media:content>
	</item>
	</channel>
</rss>