<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>News</title><link>http://kenne.se:80/</link><description>News</description><item><title>How to reset the web.config in a ASP.NET MVC 3 sub application</title><link>http://kenne.se:80/reset-web.config-in-a-asp.net-mvc-3-sub-application</link><description>&lt;p&gt;&lt;b style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span style="font-size: 15px; font-family: Arial; background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Ever wanted to add a new web application that can serve out static resources from a subdirectory in your MVC 3 site?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 15px; font-family: Arial; background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;I ran into this issue the other day since my web hosting provider is somewhat limited when it comes to IIS configuration. I want to run a &lt;a href="http://www.orchardproject.net/" target="_blank"&gt;Orchard&lt;/a&gt; site (MVC 3) in the root folder, and also have the possibility to create multiple new standalone web applications to its sub directories. Applications that is completely isolated, non .NET, HTML5/Javascript sites.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 15px; font-family: Arial; background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 15px; font-family: Arial; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"&gt;What is the problem?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 15px; font-family: Arial; background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;By design, web.config is inherited through the whole web application, a MVC app installed in the root will therefore require all sub directories to implement MVC as well. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 15px; font-family: Arial; background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 15px; font-family: Arial; background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;If we simply add a plain HTML/JavaScript site to a sub directory (configured as a web application in IIS), it would respond with a yellow-screen-of-death stating that required MVC dll&amp;rsquo;s is missing: &lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;
&lt;div style="background-color: #ffb;"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size: 11px; font-family: Verdana; vertical-align: baseline; white-space: pre-wrap;"&gt;Parser Error Message: &lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style="font-size: 11px; font-family: Arial; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div style="background-color: #ffb;"&gt;&lt;/div&gt;
&lt;div style="background-color: #ffb;"&gt;.&lt;/div&gt;
&lt;div style="background-color: #ffb;"&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b id="internal-source-marker_0.6140376266557723" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span style="font-size: 15px; font-family: Arial; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"&gt;Removing dependencies from our new web.config&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 15px; font-family: Arial; background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Normally we use our web.config to specify what dependencies to load. This time around, since we don&amp;rsquo;t want to use any .Net we have to create new web.config to specify what dependencies to remove. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 15px; font-family: Arial; background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;And what exactly are our dependencies? More or less all &amp;lt;add&amp;gt; tags in our root web.config, needs to be removed with an &amp;lt;remove&amp;gt; tag in our new web.config. The result now looks something like this:&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;script type="text/javascript" src="https://gist.github.com/2392191.js"&gt;// &lt;![CDATA[

// ]]&gt;&lt;/script&gt;
&lt;p&gt;&lt;b id="internal-source-marker_0.6140376266557723" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span style="font-size: 15px; font-family: Arial; background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;The last part is kind of tricky though. See below how the default &amp;lt;web.server&amp;gt;&amp;lt;handlers&amp;gt; are cleared and a NotFound handler is added for all the 404 requests? After removing the NotFound handler we need to re-add the default handler for serving static files, the one Orchard had cleared. Otherwise no requests would be handled at all. &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b id="internal-source-marker_0.6140376266557723" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span style="font-size: 15px; font-family: Arial; background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;And that should do the trick! &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b id="internal-source-marker_0.6140376266557723" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span style="font-size: 15px; font-family: Arial; background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;/love Carl&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;b id="internal-source-marker_0.6140376266557723" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span style="font-size: 15px; font-family: Arial; background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;The Orchard root web.config for reference:&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;script type="text/javascript" src="https://gist.github.com/2392004.js"&gt;// &lt;![CDATA[

// ]]&gt;&lt;/script&gt;
&lt;p&gt;&lt;span id="internal-source-marker_0.6140376266557723"&gt;&lt;br /&gt;&lt;span face="Arial" style="font-family: Arial;"&gt;&lt;span style="font-size: 15px; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description><pubDate>Sun, 15 Apr 2012 11:57:07 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/reset-web.config-in-a-asp.net-mvc-3-sub-application</guid></item><item><title>TDD in a WPF world - Testing the ViewModel</title><link>http://kenne.se:80/tdd-in-a-wpf-world---testing-the-viewmodel</link><description>&lt;p&gt;Here&amp;nbsp;is a sketch of the&amp;nbsp;basic&amp;nbsp;principles I follow to make my ViewModels more testable:&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://www.kenne.se/resources/images/testing_the_viewmodel.png" style="border-width: 0px; border-style: solid;" /&gt;&lt;/p&gt;
&lt;p&gt;I follow the following steps when designing the ViewModel above:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a prototype of the View. This will get me a clear picture of the requirements on the ViewModel.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Write a test.&lt;/li&gt;
&lt;li&gt;Write the code necessary to make the test turn green.&lt;/li&gt;
&lt;li&gt;Repeat steps 2-3 until the ViewModel is complete. Refactor as necessary.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;/love Carl&lt;/p&gt;</description><pubDate>Mon, 19 Dec 2011 22:51:54 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/tdd-in-a-wpf-world---testing-the-viewmodel</guid></item><item><title>Testing the PropertyChanged event</title><link>http://kenne.se:80/testing-the-propertychanged-event</link><description>&lt;p&gt;Testing a ViewModel and it's properties may look quite easy at first. But ViewModels are quite treacherous to their nature. There's no guarantee that the value of a property in a unit test is the same as what the view is displaying, because of NotifyPropertyChanged (if no PropertyChanged is fired, nothing is updated in the view, right?).&lt;/p&gt;
&lt;p&gt;And really, what use do you have of a unit test that you can't fully rely on?&lt;br /&gt;&lt;br /&gt; I thought about solving this issue a few days back and came up with a small extension helper method that increases the test accuracy without increasing the complexity too much.&lt;br /&gt;&lt;br /&gt; Given this Context:&lt;/p&gt;
&lt;div style="font-family: Courier New; background: #ffffcc; color: black; font-size: 10pt;"&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af;"&gt;TestFixture&lt;/span&gt;]&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="color: blue;"&gt;class&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;When_updating_a_property_which_a_WpfControl_is_binding_to&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;private&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ViewModel&lt;/span&gt; _viewModel;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af;"&gt;SetUp&lt;/span&gt;]&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt; Context()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; _viewModel = &lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ViewModel&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; _viewModel.PropertyWithWPFBinding = 100;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af;"&gt;Test&lt;/span&gt;]&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt; It_should_display_the_correct_value_since_it_has_fired_a_propertyChanged_event()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;Assert&lt;/span&gt;.That(_viewModel.PropertyWithWPFBinding, &lt;span style="color: #2b91af;"&gt;Is&lt;/span&gt;.EqualTo(100));&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt; The test will certainly pass both with or without PropertyChanged (which is bad).&lt;br /&gt;So with a small modification, and with the use of Should
&lt;script type="text/javascript" src="http://kennese0000.eweb703.discountasp.net/blog/editors/tiny_mce3/themes/advanced/langs/en.js"&gt;&lt;/script&gt;
BeDisplayedAs():&lt;/p&gt;
&lt;div style="font-family: Courier New; background: #ffffcc; color: black; font-size: 10pt;"&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af;"&gt;TestFixture&lt;/span&gt;]&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;When_updating_a_property_which_a_WpfControl_is_binding_to&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;private&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ViewModel&lt;/span&gt; _viewModel;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af;"&gt;SetUp&lt;/span&gt;]&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt; Context()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; _viewModel = &lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ViewModel&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; _viewModel.MakePropertyChangedAware();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; _viewModel.PropertyWithWPFBinding = 100;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af;"&gt;Test&lt;/span&gt;]&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt; It_should_display_the_correct_value_since_it_has_fired_a_propertyChanged_event()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; _viewModel.ShouldBeDisplayedAs(x =&amp;gt; x.PropertyWithWPFBinding, 100);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;The test will fail if no PropertyChanged was fired. To avoid confusion I also added a more descriptive
&lt;script type="text/javascript" src="http://kennese0000.eweb703.discountasp.net/blog/editors/tiny_mce3/themes/advanced/langs/en.js"&gt;&lt;/script&gt;
fail reason:&lt;/p&gt;
&lt;p&gt;&lt;img alt="error message 1" src="http://www.kenne.se/resources/images/wrench84watermark.png" /&gt;&lt;/p&gt;
&lt;p&gt;Pretty sweet.&lt;br /&gt;&lt;br /&gt; What the code really does is simply creating a listener for all ProperyChanged events that has been fired with the MakePropertyChangedAware() method. And records the values of the ViewModel only if a PropertyChanged is fired.&lt;/p&gt;
&lt;p&gt;If you want a sample project and the source, &lt;a href="/blog/resources/code/NotifyPropertyChangedTestExtension.zip"&gt;download here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;/love Carl&lt;/p&gt;</description><pubDate>Mon, 19 Dec 2011 22:50:27 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/testing-the-propertychanged-event</guid></item><item><title>TDD in a WPF world - Disconnecting the MessageBox</title><link>http://kenne.se:80/tdd-in-a-wpf-world---disconnecting-the-messagebox</link><description>&lt;p&gt;Starting TDD'ing our new ViewModel designed app, will soon get
us cornered. There are a few pitfalls and hairy situations that
will arise quite early on. But, they will mainly get there for one
reason: not following the rules. And with rules, I'm refering to
the two principles I was mentioning &lt;a href="http://kenneblog.active24blog.com/21960/" style="color: #737c12;"&gt;earlier&lt;/a&gt;:&lt;/p&gt;&lt;p&gt;Keep your interface thin, and use loosely coupled objects.&lt;/p&gt;&lt;table border="0" style="font-size: 9pt;"&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style="font-size: 9pt;"&gt;
        &lt;img alt="" src="/resources/images/devildoll.gif" style="height:36;width:25;border-width: 0px; border-style: solid;" /&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt;"&gt;
        &lt;span style="color: #660000;"&gt;Devil
Doll says: &lt;/span&gt;
        &lt;br /&gt;
        &lt;span style="color: #660000;"&gt;
          &lt;em&gt;" This can't hardly be all! I
just popped up a messagebox in my application. How can I write a
unittest for that? I don't get it. "&lt;/em&gt;
        &lt;/span&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;&lt;p&gt;Let's examine our MVVM pattern more closley. In my opinion and
quite easily explained: the Model should not know about anyone. The
ViewModel should only know about the model. And the View should
only know about the ViewModel. This leads to the following
fundamental principle: "Don't put any WPF aware code in the
ViewModel!" If there is a single "using System.Windows.*" in your
ViewModel class, you have failed, miserably (well in some cases
it's actually needed, the important part here is that you should
know when you're breaking the rules and why). And your objects is
probably not so loosley coupled anymore. If I ever need to write
WPF specific code, I usually prefer using the ValueConverters, and
even then, keeping them as thin as possible.&lt;/p&gt;&lt;table border="0" style="font-size: 9pt;"&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style="font-size: 9pt;"&gt;
        &lt;img alt="" src="/resources/images/devildoll.gif" style="height:36;width:25;border-width: 0px; border-style: solid;" /&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt;"&gt;
        &lt;span style="color: #660000;"&gt;Devil
Doll says: &lt;/span&gt;
        &lt;br /&gt;
        &lt;span style="color: #660000;"&gt;
          &lt;em&gt;" But still... The messagebox?
Where should I put it? "&lt;/em&gt;
        &lt;/span&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;&lt;p&gt;Ok, let's give it a try:  &lt;/p&gt;&lt;div style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #feffe4; background-position: initial initial; background-repeat: initial initial;"&gt;
  &lt;hr /&gt;
  &lt;div style="font-family: 'Courier New'; color: black; font-size: 9pt;"&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;
        &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;InvoiceViewModel&lt;/span&gt;&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;{&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;    &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; CreateInvoice()&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;   
{&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;        &lt;span style="color: blue;"&gt;if&lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;MessageBox&lt;/span&gt;.Show(&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
    &lt;span style="color: #a31515;"&gt;"Are you sure you want to create
a new Invoice"&lt;/span&gt;) == &lt;span style="color: #2b91af;"&gt;MessageBoxResult&lt;/span&gt;.OK)&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
{&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
    &lt;span style="color: blue;"&gt;var&lt;/span&gt; invoice = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Invoice&lt;/span&gt;();&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;           
SaveInvoice(invoice);&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
}&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;   
}&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;}&lt;/span&gt;
    &lt;/p&gt;
  &lt;/div&gt;
  &lt;hr /&gt;
&lt;/div&gt;&lt;p&gt;This method is wrong in so many ways. Not only does our
ViewModel use WPF specific controls, our class also have hard
dependence on some kind of window needed for the show function.
More than that the mere presence of the messagebox is making this
function completely impossible to test. Horrible! Our first step
should be to decouple it: &lt;/p&gt;&lt;div style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #feffe4; background-position: initial initial; background-repeat: initial initial;"&gt;
  &lt;hr /&gt;
  &lt;div style="font-family: 'Courier New'; color: black; font-size: 9pt;"&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;
        &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;InvoiceViewModel&lt;/span&gt;&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;{&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;    &lt;span style="color: #2b91af;"&gt;IDecoupledMessageBox&lt;/span&gt; decoupledmessagebox;&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;    &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; CreateInvoice()&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;   
{&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;        &lt;span style="color: blue;"&gt;if&lt;/span&gt;(decoupledmessagebox.Show(&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
    &lt;span style="color: #a31515;"&gt;"Are you sure you want to create
a new Invoice"&lt;/span&gt;) == &lt;span style="color: #2b91af;"&gt;MessageBoxResult&lt;/span&gt;.OK)&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
{&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
    &lt;span style="color: blue;"&gt;var&lt;/span&gt; invoice = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Invoice&lt;/span&gt;();&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;           
SaveInvoice(invoice);&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
}&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;   
}&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;}&lt;/span&gt;
    &lt;/p&gt;
  &lt;/div&gt;
  &lt;hr /&gt;
  &lt;p&gt; Woah, that was easy! Continue with cutting out the ugly
WPF-stuff: &lt;/p&gt;
&lt;/div&gt;&lt;div style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #feffe4; background-position: initial initial; background-repeat: initial initial;"&gt;
  &lt;hr /&gt;
  &lt;div style="font-family: 'Courier New'; color: black; font-size: 9pt;"&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;
        &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;InvoiceViewModel&lt;/span&gt;&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;{&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;    &lt;span style="color: #2b91af;"&gt;IDecoupledMessageBox&lt;/span&gt; decoupledmessagebox;&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;    &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; CreateInvoice()&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;   
{&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;        &lt;span style="color: blue;"&gt;if&lt;/span&gt;(decoupledmessagebox.Show(&lt;span style="color: #a31515;"&gt;"Are you sure you want to create a new
Invoice"&lt;/span&gt;))&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
{&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
    &lt;span style="color: blue;"&gt;var&lt;/span&gt; invoice = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Invoice&lt;/span&gt;();&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;           
SaveInvoice(invoice);&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
}&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;   
}&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;}&lt;/span&gt;
    &lt;/p&gt;
  &lt;/div&gt;
  &lt;hr /&gt;
&lt;/div&gt;&lt;table border="0" style="font-size: 9pt;"&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style="font-size: 9pt;"&gt;
        &lt;img alt="" src="/resources/images/devildoll.gif" style="height:36;width:25;border-width: 0px; border-style: solid;" /&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt;"&gt;
        &lt;span style="color: #660000;"&gt;Devil
Doll says: &lt;/span&gt;
        &lt;br /&gt;
        &lt;span style="color: #660000;"&gt;
          &lt;em&gt;" An IDecoupledMessageBox
property in my class? That smells, I don't like it... "&lt;/em&gt;
        &lt;/span&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;&lt;p&gt;Hm, well then.. You could use Unity as Service Locator, like the
following simplified example (which will of course leave you with a
Unity dependency instead :(... )&lt;/p&gt;&lt;div style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #feffe4; background-position: initial initial; background-repeat: initial initial;"&gt;
  &lt;hr /&gt;
  &lt;p&gt;
    &lt;span style="font-size:12px;"&gt;
      &lt;span style="font-family: 'Courier New';"&gt;
        &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;/span&gt;
      &lt;span style="font-family: 'Courier New';"&gt;
        &lt;span style="color: #2b91af;"&gt;InvoiceViewModel&lt;/span&gt;
        &lt;br /&gt;
 {&lt;/span&gt;
    &lt;/span&gt;
  &lt;/p&gt;
  &lt;div style="font-family: 'Courier New'; color: black; font-size: 9pt;"&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;    [&lt;span style="color: #2b91af;"&gt;Dependency&lt;/span&gt;]&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;   
Microsoft.Practices.Unity.&lt;span style="color: #2b91af;"&gt;IUnityContainer&lt;/span&gt; unityContainer;&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;   
...&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;    &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; CreateInvoice()&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;   
{&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;        &lt;span style="color: blue;"&gt;if&lt;/span&gt;(unityContainer.Resolve&amp;lt;&lt;span style="color: #2b91af;"&gt;IDecoupledMessageBox&lt;/span&gt;&amp;gt;()&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;           
.Show(&lt;span style="color: #a31515;"&gt;"Are you sure you want to
create a new Invoice"&lt;/span&gt;))&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
{&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
    &lt;span style="color: blue;"&gt;var&lt;/span&gt; invoice = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Invoice&lt;/span&gt;();&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;           
SaveInvoice(invoice);&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
}&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;   
}&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;}&lt;/span&gt;
    &lt;/p&gt;
  &lt;/div&gt;
  &lt;hr /&gt;
&lt;/div&gt;&lt;p&gt;The implementation of our IDecoupledMessageBox class should be
quite obvious. But what happened to our window?&lt;br /&gt;
 Well it's now safely tucked away inside our DecoupledMessageBox.
Someone has to put it there though, but someone else, definitley
not our ViewModel, more likley our Module or Bootstrapper (or
whoever pops up our Windows).&lt;/p&gt;&lt;p&gt;This solves it, we can finally wirite a unittest. And with some
creativity, it also opens up for some interesting mocking
scenarios:&lt;/p&gt;&lt;div style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #feffe4; background-position: initial initial; background-repeat: initial initial;"&gt;
  &lt;hr /&gt;
  &lt;br /&gt;
  &lt;span style="font-size:12px;"&gt;
    &lt;span style="font-family: 'Courier New';"&gt;[&lt;span style="color: #2b91af;"&gt;TestFixture&lt;/span&gt;]&lt;br /&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;InvoiceTest_When_User_Always_Approve&lt;/span&gt;&lt;/span&gt;
  &lt;/span&gt;
  &lt;div style="font-family: 'Courier New'; color: black; font-size: 9pt;"&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;br /&gt;
      &lt;span style="font-size:12px;"&gt;{&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;    &lt;span style="color: #2b91af;"&gt;InvoiceViewModel&lt;/span&gt; invoiceViewModel;&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;    [&lt;span style="color: #2b91af;"&gt;SetUp&lt;/span&gt;]&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;    &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Setup()&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;   
{&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
invoiceViewModel =&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;
        &lt;span style="color: blue;"&gt;            new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;InvoiceViewModel&lt;/span&gt;(&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;AlwaysAnswerYesMessageBox&lt;/span&gt;());&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;   
}&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt; &lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;    [&lt;span style="color: #2b91af;"&gt;Test&lt;/span&gt;]&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;    &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; It_Can_Create_Invoice()&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;   
{&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;       
invoiceViewModel.CreateInvoice();&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;        &lt;span style="color: #2b91af;"&gt;Assert&lt;/span&gt;.That(invoiceViewModel.IsInvoiceCreated, &lt;span style="color: #2b91af;"&gt;Is&lt;/span&gt;.True);&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;   
}&lt;/span&gt;
    &lt;/p&gt;
    &lt;p style="margin: 0px;"&gt;
      &lt;span style="font-size:12px;"&gt;}&lt;/span&gt;
    &lt;/p&gt;
  &lt;/div&gt;
  &lt;hr /&gt;
&lt;/div&gt;&lt;p&gt;Beautiful!&lt;/p&gt;&lt;p&gt;/love Carl&lt;/p&gt;</description><pubDate>Wed, 08 Sep 2010 21:03:51 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/tdd-in-a-wpf-world---disconnecting-the-messagebox</guid></item><item><title>TDD in a WPF world - The self injecting View</title><link>http://kenne.se:80/tdd-in-a-wpf-world---the-self-injecting-view</link><description>&lt;p&gt;Occasionally, the ViewModel needs to communicate with the View.
Most of the times, this is done with bindings. For i.e, activating
and deactivating a control at a specific time is easily solved with
a binding to an IsActive property on the ViewModel. Bindings is
quite nice in this aspect, they maintain low coupling.&lt;/p&gt;&lt;p&gt;But sometimes this is not sufficient. In a recent project, I was
using an Infragistics grid, where some properties on the grid
simply couldn't be bound to (or I at least couldn't figure out how
to). &lt;/p&gt;&lt;table border="0" style="font-size: 9pt;"&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style="font-size: 9pt;"&gt;
        &lt;img alt="" src="/resources/images/devildoll.gif" style="height:36;width:25;border-width: 0px; border-style: solid;" /&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt;"&gt;
        &lt;span style="color: #660000;"&gt;Devil
Doll says: &lt;/span&gt;
        &lt;br /&gt;
        &lt;span style="color: #660000;"&gt;
          &lt;em&gt;"Grr.. I hate stupid third-party
vendors"&lt;/em&gt;
        &lt;/span&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;&lt;p&gt;After some pondering over this new dilemma I came to the
following conclusion:&lt;/p&gt;&lt;ul&gt;
  &lt;li&gt;The View must be injected, to make it possible to stub in a
unit test.&lt;/li&gt;
  &lt;li&gt;It would be great if the View could inject all by itself,
(since this was a rare occurance a wanted to isolate the
anomaly).&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The solution: The DataContextChanged event&lt;/p&gt;&lt;div style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #feffe4; background-position: initial initial; background-repeat: initial initial;"&gt;
  &lt;hr /&gt;
  &lt;div style="color: black; font-family: 'Courier New';"&gt;
    &lt;span style="font-size:12px;"&gt;
      &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;partial&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;ViewControl&lt;/span&gt; : &lt;span style="color: #2b91af;"&gt;UserControl&lt;/span&gt;&lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;{&lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;    &lt;span style="color: blue;"&gt;public&lt;/span&gt; ViewControl()&lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;    {&lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;       
InitializeComponent();&lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;        DataContextChanged +=
(ViewControl_DataContextChanged);&lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;    }&lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt; &lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;    &lt;span style="color: blue;"&gt;void&lt;/span&gt; ViewControl_DataContextChanged(&lt;span style="color: blue;"&gt;object&lt;/span&gt; sender,&lt;span style="color: #2b91af;"&gt;DependencyPropertyChangedEventArgs&lt;/span&gt; e)&lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;    {&lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;        &lt;span style="color: blue;"&gt;var&lt;/span&gt; viewModel = DataContext &lt;span style="color: blue;"&gt;as&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;IViewModel&lt;/span&gt;;&lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;        &lt;span style="color: blue;"&gt;if&lt;/span&gt;(viewModel != &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;        {&lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;            viewModel.View = &lt;span style="color: blue;"&gt;this&lt;/span&gt;;   &lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;        }&lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;    }&lt;/span&gt;
    &lt;br /&gt;
    &lt;span style="font-size:12px;"&gt;}&lt;/span&gt;
  &lt;/div&gt;
  &lt;hr /&gt;
&lt;/div&gt;&lt;p&gt;The DataContext can be set and changed by anyone, and the View
will inject itself automatically. Pretty nifty, and unit tests can
now simply inject a stub instead.&lt;/p&gt;&lt;p&gt;/love Carl&lt;/p&gt;</description><pubDate>Wed, 08 Sep 2010 20:58:17 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/tdd-in-a-wpf-world---the-self-injecting-view</guid></item><item><title>ASP.NET MVC 2 session in march</title><link>http://kenne.se:80/asp.net-mvc-2-session-in-march</link><description>&lt;p&gt;A new, exciting and free (!) session is coming up in march: &lt;a href="http://eepurl.com/iBu1"&gt;"ASP.NET MVC 2.0 &amp;amp; vänner"&lt;/a&gt;. 
The session starts at 17.00 at the &lt;a href="http://jayway.com/"&gt;Jayway&lt;/a&gt; office on Drottninggatan. Read
all about it &lt;a href="http://eepurl.com/iBu1"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Be there, I will!&lt;/p&gt;&lt;p&gt;love carl&lt;/p&gt;</description><pubDate>Wed, 08 Sep 2010 20:31:13 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/asp.net-mvc-2-session-in-march</guid></item><item><title>Silverlight Workshop</title><link>http://kenne.se:80/silverlight-workshop</link><description>&lt;p&gt;I'll be attending a workshop as an assisting tutor at Öredev
this year. The workshop is lead by Anders Rundqvist,
egotronic.com.&lt;/p&gt;&lt;p&gt;check it out at:  &lt;a href="http://www.oredev.org/topmenu/program/workshops/linusroslundcarlkenne.4.3efb083311ac562f9fe800015427.html" style="color: #737c12;"&gt;ÖREDEV.ORG&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;</description><pubDate>Wed, 08 Sep 2010 20:30:45 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/silverlight-workshop</guid></item><item><title>ALTdotNET unconference - 12/9</title><link>http://kenne.se:80/altdotnet-unconference---12-9</link><description>&lt;p&gt;
  &lt;span style="font-family: 'Trebuchet MS', arial, sans-serif; font-size: 12px; color: #575649;"&gt;
    &lt;img alt="" src="http://altdotnet.se/altdotnetse.png" style="border-width: 0px; border-style: solid;" /&gt; &lt;br /&gt;&lt;br /&gt;
 It's finally time for a new &lt;a href="http://www.altdotnet.se/uunconference.htm" style="color: #737c12;"&gt;unconference&lt;/a&gt; in stockholm. This time
it's with the fine peoples over at &lt;a href="http://www.sogeti.se/" style="color: #737c12;"&gt;Sogeti&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;
 Lightningtalks, Open space and lots of interesting progressive
discussions.&lt;br /&gt;&lt;br /&gt;
 Be there - I will.&lt;br /&gt;
 /love Carl&lt;/span&gt;
&lt;/p&gt;</description><pubDate>Wed, 08 Sep 2010 20:30:22 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/altdotnet-unconference---12-9</guid></item><item><title>Silverlight 3 - one step closer to web nirvana - 16/9</title><link>http://kenne.se:80/silverlight-3---one-step-closer-to-web-nirvana---16-9</link><description>&lt;p&gt;
  &lt;span style="font-family: 'Trebuchet MS', arial, sans-serif; font-size: 12px; color: #575649;"&gt;
A colleague of mine, George Bolsch, will hold a  &lt;a href="http://us1.campaign-archive.com/?u=943904090230b97f86fd07977&amp;amp;id=29bd9c0384" style="color: #737c12;"&gt;talk about Silverlight 3&lt;/a&gt; in a few
weeks over at &lt;a href="http://www.dotway.se/" style="color: #737c12;"&gt;Dotway&lt;/a&gt; in stockholm.&lt;br /&gt;
 Feel free to drop by for some free snack, along with two
action-packed hours of web nirvana.&lt;br /&gt;&lt;br /&gt;
 Seriously, George is really talented and usually holds really
interesting sessions. Highly recommended!&lt;a href="mailto:seminarie@dotway.se?subject=Anm%C3%A4lan%C2%A0seminarium%C2%A0Stockholm&amp;amp;body=Hej,%C2%A0jag%C2%A0vill%C2%A0anm%C3%A4la%C2%A0mig%C2%A0till%C2%A0seminariet%C2%A0i%C2%A0Stockholm.%C2%A0Tack." style="color: #737c12;"&gt;&lt;br /&gt;&lt;br /&gt;
 Register here, 16 September&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
 Be there! I will.&lt;br /&gt;
 /love Carl  &lt;/span&gt;
&lt;/p&gt;</description><pubDate>Wed, 08 Sep 2010 20:30:07 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/silverlight-3---one-step-closer-to-web-nirvana---16-9</guid></item><item><title>Scott Bellware @ Sthlm ALT.NET</title><link>http://kenne.se:80/scott-bellware-sthlm-alt.net</link><description>&lt;p&gt;This saturday, 18 april, &lt;a href="http://ampgt.com/" style="color: #737c12;"&gt;Scott Bellware&lt;/a&gt; visits sthlm for an "&lt;a href="http://altdotnet.se/scott.htm" style="color: #737c12;"&gt;informal Open Space on progressive software
development&lt;/a&gt;" (whatever that means).&lt;br /&gt;
 Hopefully, mr. Bellware gets his hardware working this time
around.&lt;/p&gt;&lt;p&gt;Be there, I will...&lt;/p&gt;&lt;p&gt;/love Carl &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;</description><pubDate>Wed, 08 Sep 2010 20:29:28 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/scott-bellware-sthlm-alt.net</guid></item><item><title>TDD in a WPF World - Setting the scene</title><link>http://kenne.se:80/tdd-in-a-wpf-world---setting-the-scene</link><description>&lt;p&gt;Two fundamental nessecities for testing our WPF applications
are:&lt;/p&gt;&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;
      &lt;strong&gt;Keep the user interface layer (Xaml) thin.&lt;/strong&gt;
    &lt;/p&gt;
    &lt;p&gt; Xaml is a bit trickier and more tedious to test than plain c#.
I always try to keep a focus on testing as much c# as possible, not
Xaml.&lt;/p&gt;
    &lt;table border="0" style="font-size: 9pt;"&gt;
      &lt;tbody&gt;
        &lt;tr&gt;
          &lt;td style="font-size: 9pt;"&gt;
            &lt;img alt="" src="/resources/images/devildoll.gif" style="height:36;width:25;border-width: 0px; border-style: solid;" /&gt;
          &lt;/td&gt;
          &lt;td style="font-size: 9pt;"&gt;
            &lt;span style="color: #660000;"&gt;Devil
Doll says: &lt;/span&gt;
            &lt;br /&gt;
            &lt;span style="color: #660000;"&gt;
              &lt;em&gt;"Crazy! How can you keep the &lt;a href="http://en.wikipedia.org/wiki/Code_coverage" style="color: #737c12;"&gt;code coverage&lt;/a&gt; up? It should be at least
at 100%. Ignoring the Xaml will never get even close to that
level!"&lt;/em&gt;
            &lt;/span&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;p&gt;True. But it's not just because I'm lazy, it's also to enforce
good design. The 100% does not, according to me, mean 100% of the
entire application, but 100% of what matters, mainly: logic. So to
achieve this, we have to move as much logic as possible from the UI
to our business layer. And in my opinion, whether doing TDD or not,
business logic should never be in Xaml (hm, "separation of
concerns" anyone?), TDD just makes this painfully obvious.&lt;/p&gt;
    &lt;table border="0" style="font-size: 9pt;"&gt;
      &lt;tbody&gt;
        &lt;tr&gt;
          &lt;td style="font-size: 9pt;"&gt;
            &lt;img alt="" src="/resources/images/devildoll.gif" style="height:36;width:25;border-width: 0px; border-style: solid;" /&gt;
          &lt;/td&gt;
          &lt;td style="font-size: 9pt;"&gt;
            &lt;span style="color: #660000;"&gt;Devil
Doll says: &lt;/span&gt;
            &lt;br /&gt;
            &lt;span style="color: #660000;"&gt;
              &lt;em&gt;"Ah I can see what your aiming
at here, It's pretty easy to remove the logic from the xaml, but
this leaves me with loads of new code floating hanging around,
where should I stow it? 
&lt;script type="text/javascript" src="http://kennese0000.eweb703.discountasp.net/blog/editors/tiny_mce3/themes/advanced/langs/en.j&amp;lt;script type="&gt;&lt;/script&gt;

s" type="text/javascript"&amp;gt; "&lt;/em&gt;
            &lt;/span&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;p&gt;This is where a good pattern which helps us separate the Logic
from Xaml is needed. You may pick your favourite one, but for WPF,
I'll pick the Presentation Model, or more commonly named (or
renamed by Microsoft) Model-View-ViewModel.    &lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;Loose coupling.&lt;/strong&gt;
    &lt;br /&gt;
    &lt;br /&gt;
 This is really a necesity to unittesting in general. And to
implement the ViewModel effectively Inversion of Control is a must.
I prefer using some kind of IoC container and in the following
parts of the series I'll be using &lt;a href="http://www.codeplex.com/unity" style="color: #737c12;"&gt;Unity&lt;/a&gt;.  

&lt;table border="0" style="font-size: 9pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-size: 9pt;"&gt;&lt;img alt="" src="/resources/images/devildoll.gif" style="height:36;width:25;border-width: 0px; border-style: solid;" /&gt;&lt;br /&gt;
  &lt;/td&gt;&lt;td style="font-size: 9pt;"&gt;&lt;span style="color: #660000;"&gt;Devil
Doll says: &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #660000;"&gt;&lt;em&gt;"Unity? Are you sure? I heard
that Unity sucks!"&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Maybe, but I'll keep it at a low level so you will not even
notice that it's &lt;a href="http://www.codeplex.com/unity" style="color: #737c12;"&gt;Unity&lt;/a&gt; behind the scene. You can of
course use your "altdotnet" container of any flavour.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;So to put all this this to practice, I'll get right down to some
hardcore coding in the next part of the series: "Disconnecting the
MessageBox".&lt;/p&gt;&lt;p&gt;love Carl&lt;/p&gt;</description><pubDate>Wed, 08 Sep 2010 20:27:55 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/tdd-in-a-wpf-world---setting-the-scene</guid></item><item><title>INotifyPropertyChanged - A remedy for the plague</title><link>http://kenne.se:80/inotifypropertychanged---a-remedy-for-the-plague</link><description>&lt;p&gt;I stumble over this nice little extension class the other day
while visiting Google.&lt;/p&gt;&lt;p&gt;Instead of passing around a hard coded string for
NotifyPropertyChanged like this:&lt;/p&gt;&lt;div style="background-image: none; background-attachment: scroll; background-origin: initial; background-clip: initial; background-color: #ffffcc; font-family: 'Courier New'; color: black; font-size: 11pt; background-position: 0% 0%; background-repeat: repeat repeat;"&gt;
  &lt;p style="margin: 0px;"&gt;
    &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; firstName;&lt;/p&gt;
  &lt;p style="margin: 0px;"&gt;
    &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; FirstName&lt;/p&gt;
  &lt;p style="margin: 0px;"&gt;
    &lt;span style="font-size: x-small;"&gt;{&lt;/span&gt;
  &lt;/p&gt;
  &lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;get&lt;/span&gt; {  &lt;span style="color: blue;"&gt;return&lt;/span&gt; firstName; }&lt;/p&gt;
  &lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;set&lt;/span&gt;&lt;/p&gt;
  &lt;p style="margin: 0px;"&gt;    {&lt;/p&gt;
  &lt;p style="margin: 0px;"&gt;        firstName = &lt;span style="color: blue;"&gt;value&lt;/span&gt;;&lt;/p&gt;
  &lt;p style="margin: 0px;"&gt;        OnPropertyChanged(&lt;span style="color: #a31515;"&gt;"FirstName"&lt;/span&gt;);&lt;/p&gt;
  &lt;p style="margin: 0px;"&gt;    }&lt;/p&gt;
  &lt;p style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;/div&gt;&lt;p&gt; A lamda expression takes care of the dirty stuff:&lt;/p&gt;&lt;div style="background-image: none; background-attachment: scroll; background-origin: initial; background-clip: initial; background-color: #ffffcc; font-family: 'Courier New'; color: black; font-size: 11pt; background-position: 0% 0%; background-repeat: repeat repeat;"&gt;
  &lt;p style="margin: 0px;"&gt;PropertyChanged.Notify(()=&amp;gt;&lt;span style="color: blue;"&gt;this&lt;/span&gt;.FirstName);&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;This magic is accomplished with a small extension class which
can be downloaded at Einars blogg,  &lt;a href="http://www.ingebrigtsen.info/post/2008/12/11/INotifyPropertyChanged-revisited.aspx" style="color: #737c12;"&gt;over here&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Pretty cool.&lt;/p&gt;</description><pubDate>Wed, 08 Sep 2010 20:26:01 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/inotifypropertychanged---a-remedy-for-the-plague</guid></item><item><title>Progressive .NET Days in Stockholm</title><link>http://kenne.se:80/progressive-.net-days-in-stockholm</link><description>&lt;p&gt;
  &lt;span style="font-family: 'Trebuchet MS', arial, sans-serif; font-size: 12px; color: #575649;"&gt;
    &lt;br /&gt;
  &lt;/span&gt;
&lt;/p&gt;&lt;p&gt;I had the fortunate opportunity to attend an unconference led
by &lt;a style="color: #737c12;" href="http://blog.scottbellware.com/"&gt;Scott Bellware&lt;/a&gt; a few
months ago. Scott is such an inspiring character and all his
speeches about Progressive development and Lean thinking profoundly
changed the way I look on software development today.&lt;br /&gt;
 &lt;br /&gt;
Bearing this in mind, I'm really excited hearing that Scott is &lt;a style="color: #737c12;" href="http://www.oredev.org/stockholm"&gt;returning to
Stockholm&lt;/a&gt; again in august!! And this time he also brings some
friends with him.&lt;/p&gt;&lt;p&gt;Awesome!&lt;br /&gt;
 &lt;br /&gt;
Guys like: &lt;br /&gt;&lt;strong&gt;&lt;a style="color: #737c12;" href="http://codebetter.com/blogs/david_laribee/"&gt;Dave
Laribee&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a style="color: #737c12;" href="http://ayende.com/Blog/"&gt;Ayende
Rahiyen&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a style="color: #737c12;" href="http://odetocode.com/blogs/scott/default.aspx"&gt;Scott
Allen&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a style="color: #737c12;" href="http://www.jnsk.se/"&gt;Jimmy Nilsson&lt;/a&gt;&lt;/strong&gt; will hold
workshops in areas like: &lt;br /&gt;
NHibernate -  MVC - Context Specification - Application Testing and
Specification - Lean and Kanban - Git - Cloud computing
architecture&lt;/p&gt;&lt;p&gt;This will be two days in heaven ;). &lt;a style="color: #737c12;" href="http://www.oredev.org/stockholm"&gt;read more here&lt;/a&gt; &lt;br /&gt;
 &lt;br /&gt;
Be there! I will&lt;br /&gt;
/love Carl&lt;/p&gt;</description><pubDate>Thu, 02 Sep 2010 20:54:46 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/progressive-.net-days-in-stockholm</guid></item><item><title>Cybercrime: The Devil in The Dark - 21/9</title><link>http://kenne.se:80/cybercrime-the-devil-in-the-dark---21-9</link><description>&lt;p&gt; &lt;/p&gt;&lt;table align="center" border="0" style="font-size: 9pt;"&gt;
  &lt;tbody&gt;
    &lt;tr style="border:0px;"&gt;
      &lt;td style="border:0px; font-size: 9pt;" valign="top"&gt;
        &lt;p&gt;Security expert &lt;a href="http://blogs.quality-training.co.uk/blog" style="color: #737c12;"&gt;Andy Malone&lt;/a&gt; (whose name sounds like a
chicago gangster from the fifties) drops by Stockholm on monday the
21th (september). Andy will hold a session about security for
developers.&lt;/p&gt;
        &lt;p&gt;Sounds interesting (and it's of course free), I think I'll pop
by.&lt;/p&gt;
        &lt;p&gt;
          &lt;a href="http://devsecurity.eventbrite.com/" style="color: #737c12;"&gt;read more and register here&lt;/a&gt;
        &lt;/p&gt;
        &lt;p&gt;/love Carl&lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border:0px; font-size: 9pt;"&gt;
        &lt;img alt="" src="http://www.quality-training.co.uk/blog/wp-content/uploads/2009/07/hpim0218-267x300.jpg" style="width: 179px; height: 197px; border-width: 0px; border-style: solid;" /&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;&lt;p&gt;
  &lt;br /&gt;
  &lt;/p&gt;</description><pubDate>Thu, 02 Sep 2010 20:53:45 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/cybercrime-the-devil-in-the-dark---21-9</guid></item><item><title>What absence yields</title><link>http://kenne.se:80/what-absence-yields</link><description>&lt;p&gt;
  &lt;span style="font-family: 'Trebuchet MS', arial, sans-serif; font-size: 12px; color: #575649;"&gt;
After years of absence this blog finally found itself a
purpose. &lt;br /&gt;
  &lt;br /&gt;
 With start today, a new ongoing series will start under the title:
TDD in a WPF world. &lt;br /&gt;
 It will cover certain problematic aspects of developing in the
presentationlayer with Windows Presentation Foundation from a test
driven design approach. And how to solve them using techniques like
Model View View-Model, Dependency Injection, IoC Containers,
CompositeWPF, Mock / Stub, etc.&lt;br /&gt;
 &lt;br /&gt;&lt;em&gt;In the meantime, while you wait for the first post, I would
recommend you listening to: "Detektivbyrån's" new album,
"Wermland"&lt;/em&gt; &lt;br /&gt;
  &lt;br /&gt;
 love Carl &lt;/span&gt;
&lt;/p&gt;</description><pubDate>Thu, 26 Aug 2010 08:00:46 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/what-absence-yields</guid></item><item><title>Visual Studio 2008 open space tour</title><link>http://kenne.se:80/visual-studio-2008-open-space-tour</link><description>&lt;p&gt;
  &lt;span style="font-family: 'Trebuchet MS', arial, sans-serif; font-size: 12px; color: #575649;"&gt;
    &lt;span&gt;
      &lt;span style="font-style: italic;"&gt;Free interpretation by
Google :) - &lt;a rel="external" style="color: #737c12;" href="http://www.dotway.se/Default.aspx?tabid=271"&gt;www.dotway.se&lt;/a&gt;&lt;a style="color: #737c12;" href="http://blog.kenne.se/18917/"&gt;&lt;/a&gt;&lt;/span&gt;
      &lt;br /&gt;
      &lt;br /&gt;
      &lt;img style="border-width: 0px; border-style: solid;" src="http://dotway.se/Portals/0/Seminarier/Heroes/VS2008OpenSpace.png" alt="" /&gt; &lt;br /&gt;&lt;/span&gt;
    &lt;span style="font-size: small;"&gt;
      &lt;span style="font-weight: bold;"&gt;
        &lt;span&gt;Be there! &lt;br /&gt;
 I will.&lt;/span&gt;
      &lt;/span&gt;
    &lt;/span&gt;
    &lt;br /&gt;
    &lt;span&gt;
      &lt;br /&gt;
Lanseringsresan then continue in the autumn when Dotway drag around
in four locations and arranges Visual Studio 2008 and Microsoft.
NET Framework 3.5 Open Space!&lt;br /&gt;&lt;br /&gt;
&amp;lt; 
&lt;script src="http://kennese0000.eweb703.discountasp.net/blog/editors/tiny_mce3/themes/advanced/langs/en.js" type="text/javascript"&gt;&lt;/script&gt;

 /span&amp;gt;&lt;span&gt;This arrangement is supposed to be in the form of a
nice evening with a piece of food and little good to drink, and
that we are talking about them, presents and labbar with what
interests us most of these new technologies.&lt;/span&gt; &lt;span&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;Du kan själv med fördel
ta med dig något du vill visa på din egen dator eller låna en av
oss på plats.&lt;/span&gt; You can usefully take with you anything you
want to display on your own computer or borrow one of us on the
spot.&lt;/span&gt; &lt;br /&gt;&lt;span&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;Open Space works best
when each to contribute material to the best ability and to secure
up to the whole floating in and working correctly will Dotway to
have several experts on site loaded with materials that can help
the discussions and who has long experience of to have tested these
technologies are already in their infancy during alfastadiet.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;The food is served from 17.00 and at 17.30 at the
start Visual Studio Open Space.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;/span&gt;
&lt;/p&gt;&lt;p&gt;
  &lt;span&gt;In order to calculate matåtgången, we want you the latest
on the above-stated last pre-notification you to the desired orts
e-mail address.&lt;/span&gt;
  &lt;span&gt; In addition, we'd like to know if you
have any special requests concerning the diet.&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;
  &lt;span&gt;
    &lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;Thank you! &lt;br /&gt;&lt;/span&gt;
  &lt;/span&gt;
&lt;/p&gt;&lt;p&gt;
  &lt;span&gt;
    &lt;br /&gt;
  &lt;/span&gt;
&lt;/p&gt;&lt;p&gt;
  &lt;br /&gt;
  &lt;span&gt;Autumn's agenda for Sweden Visual Studio 2008 and. NET
Framework Open Space and Heroes Launch Event Tour:&lt;/span&gt;
&lt;/p&gt;&lt;table id="codecampTable" style="font-size: 9pt; width: 491px; height: 241px;" border="0"&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th style="text-align: left; border: 0px initial initial;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;Location&lt;/span&gt;
        &lt;/span&gt;
      &lt;/th&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;th style="text-align: left; border: 0px initial initial;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;Location&lt;/span&gt;
        &lt;/span&gt;
      &lt;/th&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;th style="text-align: left; border: 0px initial initial;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;Date&lt;/span&gt;
        &lt;/span&gt;
      &lt;/th&gt;
      &lt;th style="text-align: left; border: 0px initial initial;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;Time&lt;/span&gt;
        &lt;/span&gt;
      &lt;/th&gt;
      &lt;td style="font-size: 9pt; vertical-align: top; text-align: left;"&gt;
 &lt;/td&gt;
      &lt;th style="text-align: left; border: 0px initial initial;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;The last date of
notification&lt;/span&gt;
        &lt;/span&gt;
      &lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;Malmö&lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;Dotways office&lt;/span&gt;
          &lt;br /&gt;
          &lt;span&gt;
            &lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;Hans Michelsensgatan
9&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;
            &lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;25/8&lt;/span&gt; &lt;/span&gt;
        &lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;17:30&lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top; text-align: left;"&gt;
 &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;
            &lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;22/8 - &lt;a style="color: #737c12;" href="mailto:malmo@dotway.se"&gt;malmo@dotway.se&lt;/a&gt;&lt;/span&gt; &lt;a style="color: #737c12;" href="mailto:malmo@dotway.se"&gt;&lt;/a&gt;&lt;/span&gt;
          &lt;a style="color: #737c12;" href="mailto:malmo@dotway.se"&gt;&lt;/a&gt;
        &lt;/span&gt;
        &lt;a style="color: #737c12;" href="mailto:malmo@dotway.se"&gt;&lt;/a&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;Gothenburg&lt;/span&gt;
        &lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;Dotways office&lt;/span&gt;
          &lt;br /&gt;
          &lt;span&gt;Little Bommen 6&lt;/span&gt;
        &lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;
            &lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;28/8&lt;/span&gt; &lt;/span&gt;
        &lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;17:30&lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top; text-align: left;"&gt;
 &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;
            &lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;25/8 - &lt;a style="color: #737c12;" href="mailto:goteborg@dotway.se"&gt;goteborg@dotway.se&lt;/a&gt;&lt;/span&gt; &lt;a style="color: #737c12;" href="mailto:goteborg@dotway.se"&gt;&lt;/a&gt;&lt;/span&gt;
          &lt;a style="color: #737c12;" href="mailto:goteborg@dotway.se"&gt;&lt;/a&gt;
        &lt;/span&gt;
        &lt;a style="color: #737c12;" href="mailto:goteborg@dotway.se"&gt;&lt;/a&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;Linköping&lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;Dotways office&lt;/span&gt;
          &lt;br /&gt;
          &lt;span&gt;Teknikringen 8&lt;/span&gt;
        &lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;
            &lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;1/9&lt;/span&gt; &lt;/span&gt;
        &lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;17:30&lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top; text-align: left;"&gt;
 &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;
            &lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;28/8 - &lt;a style="color: #737c12;" href="mailto:linkoping@dotway.se"&gt;linkoping@dotway.se&lt;/a&gt;&lt;/span&gt; &lt;a style="color: #737c12;" href="mailto:linkoping@dotway.se"&gt;&lt;/a&gt;&lt;/span&gt;
          &lt;a style="color: #737c12;" href="mailto:linkoping@dotway.se"&gt;&lt;/a&gt;
        &lt;/span&gt;
        &lt;a style="color: #737c12;" href="mailto:linkoping@dotway.se"&gt;&lt;/a&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;Stockholm&lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;Kompentenscenter
Stockholm&lt;/span&gt;
          &lt;br /&gt;
          &lt;span&gt;Vasagatan 8-10&lt;/span&gt;
        &lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top;"&gt; &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;
            &lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;11/9&lt;/span&gt; &lt;/span&gt;
        &lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;17:30&lt;/span&gt;
      &lt;/td&gt;
      &lt;td style="font-size: 9pt; vertical-align: top; text-align: left;"&gt;
 &lt;/td&gt;
      &lt;td style="font-size: 9pt; text-align: left;"&gt;
        &lt;span style="font-size: xx-small;"&gt;
          &lt;span&gt;
            &lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;1/9 - &lt;a style="color: #737c12;" href="mailto:stockholm@dotway.se"&gt;stockholm@dotway.se&lt;/a&gt;&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;&lt;p&gt; &lt;/p&gt;</description><pubDate>Thu, 26 Aug 2010 07:59:23 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/visual-studio-2008-open-space-tour</guid></item><item><title>Interesting session coming up</title><link>http://kenne.se:80/interesting-session-coming-up</link><description>&lt;p&gt;
  &lt;span style="font-family: 'Trebuchet MS', arial, sans-serif; font-size: 12px; color: #575649;"&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;Ever wondered whats cooking on the &lt;a style="color: #737c12;" href="http://www.java.com/"&gt;darkside&lt;/a&gt; theese days? Renowed
Rickard Öberg drops by the Stockholm office to show som new tricks
from his &lt;a style="color: #737c12;" href="http://www.qi4j.org/"&gt;Qi4j framework&lt;/a&gt;.  The &lt;a style="color: #737c12;" href="http://jwsqi4j10.eventbrite.com/"&gt;session&lt;/a&gt; is on the 26th
januari and free of charge (&lt;a style="color: #737c12;" href="http://jwsqi4j10.eventbrite.com/"&gt;read more here&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;Sounds really interesting and i can really recommend it,
unfortunatley I wont be there since I already got a date with &lt;a style="color: #737c12;" href="http://users.rcn.com/jcoplien/"&gt;Jim
Coplien&lt;/a&gt; that day.  &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;By the way: &lt;br /&gt;
Google just told me that Roger Alsing is working on a &lt;a style="color: #737c12;" href="http://rogeralsing.com/2009/06/25/composite-oriented-programming-qi4j-running-on-net/"&gt;
.Net port&lt;/a&gt;... awesome!&lt;/p&gt;&lt;p&gt;/love Carl&lt;/p&gt;&lt;p&gt; &lt;/p&gt;</description><pubDate>Thu, 26 Aug 2010 07:58:55 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/interesting-session-coming-up</guid></item><item><title>Exciting upcoming weeks - a prelude to Øredev</title><link>http://kenne.se:80/exciting-upcoming-weeks---a-prelude-to-%C3%B8redev</link><description>&lt;p&gt;
  &lt;span style="font-family: 'Trebuchet MS', arial, sans-serif; font-size: 12px; color: #575649;"&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;The upcoming weeks looks promising, full of interesting seminars
and "geek gatherings" all over Stockholm. In other words, it it's
the perfect warmup for the King of Developer Conferences - &lt;a style="color: #737c12;" href="http://www.oredev.org/"&gt;Øredev&lt;/a&gt; in
the first week of November.&lt;/p&gt;&lt;p style="margin-right: 0px;" dir="ltr"&gt;
  &lt;strong&gt;
    &lt;br /&gt;
    &lt;span style="text-decoration: underline;"&gt;Oktober:&lt;br /&gt;&lt;/span&gt;  Monday / 19th &lt;br /&gt;
     -&lt;/strong&gt; &lt;a style="color: #737c12;" href="http://dotway.se/page/seminarier.aspx"&gt;&lt;em&gt;Entity Framework
4.0 (Dotway)&lt;/em&gt;&lt;/a&gt;&lt;br /&gt;&lt;em&gt;    - &lt;/em&gt;&lt;a style="color: #737c12;" href="http://jayway.se/193.html"&gt;&lt;em&gt;Using the cloud for
testing&lt;/em&gt;&lt;/a&gt;&lt;em&gt; (Jayway)&lt;/em&gt;&lt;/p&gt;&lt;p&gt;
  &lt;strong&gt;  Tuesday / 20th &lt;/strong&gt;
  &lt;br /&gt;
    - &lt;a style="color: #737c12;" href="http://robertnyman.com/2009/09/21/geek-meet-october-2009-molly-holzschlag-will-present-about-html-5-and-other-goodies/"&gt;&lt;em&gt;Geek Meet with Molly and HTML 5&lt;/em&gt;&lt;/a&gt; &lt;em&gt;(Bwin)&lt;/em&gt;&lt;/p&gt;&lt;p&gt;
  &lt;strong&gt;  Wednesday / 21th&lt;br /&gt;&lt;/strong&gt;
  &lt;em&gt;    - &lt;a style="color: #737c12;" href="http://groups.google.com/group/sweden-altnet/t/5ffc7343de137049"&gt;
Limited WIP Society (Kanban)&lt;/a&gt; (Avega)&lt;/em&gt;
&lt;/p&gt;&lt;p&gt;
  &lt;em&gt;
    &lt;strong&gt;  Thursday / 22th&lt;br /&gt;&lt;/strong&gt;    - &lt;a style="color: #737c12;" href="http://www.inuse.se/frukostseminarier/"&gt;Digital vs Fysiskt
(multitouch)&lt;/a&gt; (Inuse)&lt;/em&gt;
&lt;/p&gt;&lt;p&gt;
  &lt;em&gt;
    &lt;strong&gt;  Monday / 26th&lt;br /&gt;&lt;/strong&gt;    - &lt;a style="color: #737c12;" href="http://agical.com/events/geeknight.html"&gt;Det behövs mer än
bara user stories&lt;/a&gt;  (Agical,
GeekNight)&lt;strong&gt; &lt;/strong&gt;&lt;/em&gt;
&lt;/p&gt;&lt;p&gt;
  &lt;strong&gt;
    &lt;br /&gt;
    &lt;span style="text-decoration: underline;"&gt;November:&lt;br /&gt;&lt;/span&gt;  Monday &lt;/strong&gt; -&amp;gt;&lt;strong&gt; Fri-day / 2th - 6th&lt;br /&gt;
    -&lt;/strong&gt; &lt;em&gt;&lt;a style="color: #737c12;" href="http://www.oredev.org/"&gt;Øredev&lt;/a&gt; (Malmö)&lt;/em&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;And the best of all... They're all free ( ... well almost all of
them :-) )&lt;/p&gt;&lt;p&gt;See you there&lt;br /&gt;
/love Carl&lt;/p&gt;&lt;p&gt; &lt;/p&gt;</description><pubDate>Thu, 26 Aug 2010 07:58:22 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/exciting-upcoming-weeks---a-prelude-to-%C3%B8redev</guid></item><item><title>Upcoming free events in STHLM april</title><link>http://kenne.se:80/upcoming-free-events-in-sthlm-april</link><description>&lt;p&gt; &lt;/p&gt;&lt;p&gt;Lots of inspiring events is coming up:&lt;/p&gt;&lt;p&gt;8/4: &lt;a href="http://sites.google.com/site/stockholmgtug/"&gt;Stockholm
GTUG&lt;/a&gt;, with Google Go, WebGL and Geocoding API.&lt;/p&gt;&lt;p&gt;12/4: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032444740&amp;amp;Culture=sv-SE"&gt;
Visual Studio 2010 - The Ultimate Tour&lt;/a&gt;, microsoft release
party!&lt;/p&gt;&lt;p&gt;19/4 &lt;a href="http://jwsscala10.eventbrite.com/"&gt;Real world
Scala&lt;/a&gt;, at the Stockholm Jayway office&lt;/p&gt;&lt;p&gt;20/4 &lt;a href="http://groups.google.com/group/stockholm-web-monkeys/browse_thread/thread/40190b59bde3da2d"&gt;
Stockholm Web Monkeys&lt;/a&gt;, HTML, CSS and JavaScript galore!&lt;/p&gt;&lt;p&gt;22/4 &lt;a href="http://eepurl.com/qjvv"&gt;Reactive Extensions for
.NET&lt;/a&gt;, at the Stockholm Jayway office&lt;/p&gt;&lt;p&gt;/love Carl&lt;/p&gt;&lt;p&gt; &lt;/p&gt;</description><pubDate>Thu, 26 Aug 2010 07:58:10 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/upcoming-free-events-in-sthlm-april</guid></item><item><title>New blog</title><link>http://kenne.se:80/new-blog</link><description>&lt;p&gt;Stefan Severin, a collegue from Dotway just started a new
exciting blog,&lt;br /&gt;
with a focus on Oslo, and other M-stuff. &lt;br /&gt;
It looks very promising. Check it out at: &lt;a style="color: #737c12;" href="mailto:strefanseverin@wordpress.com"&gt;stefanseverin.wordpress.com&lt;/a&gt;.
Someday I'm gonna learn all these new neat stuff aswell...  &lt;/p&gt;&lt;p&gt;love Carl&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;</description><pubDate>Thu, 26 Aug 2010 07:52:38 GMT</pubDate><guid isPermaLink="true">http://kenne.se:80/new-blog</guid></item></channel></rss>