<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>cqrs</title>
        <link>http://blog.smoothfriction.nl/category/13.aspx</link>
        <description>cqrs</description>
        <language>nl-NL</language>
        <copyright>Erik van Brakel</copyright>
        <generator>Subtext Version 2.1.2.2</generator>
        <item>
            <title>Diving in the deep end: Getting started with Python</title>
            <link>http://blog.smoothfriction.nl/archive/2010/06/30/diving-in-the-deep-end-getting-started-with-python.aspx</link>
            <description>&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://www.smoothfriction.nl/blogimages/DivinginthedeependGettingstartedwithPyth_24EE/image.png" width="323" height="214" /&gt;   &lt;p&gt;As a hardcore .NET developer it’s hard to &lt;a href="http://www.flickr.com/photos/lulubb/1208054913/in/photostream/" rel="license" target="_blank"&gt;&lt;/a&gt;say this, but I’m going to do it anyway. I’m going to stray from the environment I enjoy the most at the moment, to try out something new. It’s not because I don’t like .NET or C#, or because I don’t like the way the community is. The reason I’m going to invest some time in learning this completely new environment is to broaden my horizon, and possibly increase my chances on the market.&lt;/p&gt;  &lt;p&gt;That being said, I will be combining this with a bit of research into CQRS (Command-Query Responsibility Segregation) which will hopefully give me something to blog about. Udi Dahan has a very concise explanation on what CQRS actually means for us mere human developers:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;CQRS is about coming up with an appropriate architecture for multi-user collaborative applications. It explicitly takes into account factors like data staleness and volatility and exploits those characteristics for creating simpler and more scalable constructs.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;A simple example is this. Given we have a contact management system, which incorporates the usuals: Address data, payment terms, payment record. A sales representative just finished a phonecall with the contact, which revealed that the address data of the contact is out of date. The representative changes the address data, and hits the save button. So far so good. However, at the same time, the accountant finds out that this customer has some unpaid bills, and changes the payment record of this contact. Both operations are executed using the same information, so which one is going to be executed first? In most cases, updating the contact record means updating the full record, based on (stale) information used to display the values in the edit screen. How CQRS solves this problem is for a later post, but it’s an interesting problem to wrap your thoughts around.&lt;/p&gt;  &lt;p&gt;Either way, for now it’s back to ‘Hello World!’, and after that, perhaps moving into ‘Estimating the Airspeed Velocity of an Unladen Swallow’.&lt;/p&gt;&lt;img src="http://blog.smoothfriction.nl/aggbug/38.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Erik van Brakel</dc:creator>
            <guid>http://blog.smoothfriction.nl/archive/2010/06/30/diving-in-the-deep-end-getting-started-with-python.aspx</guid>
            <pubDate>Wed, 30 Jun 2010 00:37:44 GMT</pubDate>
            <wfw:comment>http://blog.smoothfriction.nl/comments/38.aspx</wfw:comment>
            <comments>http://blog.smoothfriction.nl/archive/2010/06/30/diving-in-the-deep-end-getting-started-with-python.aspx#feedback</comments>
            <wfw:commentRss>http://blog.smoothfriction.nl/comments/commentRss/38.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>