<?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>Valeriu Caraulean</title>
	<atom:link href="http://blog.caraulean.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.caraulean.com</link>
	<description>Keep it simple. It will work...</description>
	<lastBuildDate>Tue, 22 May 2012 20:31:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.caraulean.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Valeriu Caraulean</title>
		<link>http://blog.caraulean.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.caraulean.com/osd.xml" title="Valeriu Caraulean" />
	<atom:link rel='hub' href='http://blog.caraulean.com/?pushpress=hub'/>
		<item>
		<title>Hitting the limits &#8230;</title>
		<link>http://blog.caraulean.com/2011/12/19/hitting-the-limits/</link>
		<comments>http://blog.caraulean.com/2011/12/19/hitting-the-limits/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 20:36:34 +0000</pubDate>
		<dc:creator>Valeriu Caraulean</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">https://varely.wordpress.com/?p=365</guid>
		<description><![CDATA[When you continuously seek out the limit, you’ll realize that it’s often much higher than you expected. Yes, you can make that screen even simpler than the bare-boned version you’re looking at. Yes, you can trust your employees much more than you imagined. Yes, you can launch without a billing system. Once you train yourself [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=365&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p>When you continuously seek out the limit, you’ll realize that it’s often much higher than you expected. Yes, you can make that screen even simpler than the bare-boned version you’re looking at. Yes, you can trust your employees much more than you imagined. Yes, you can launch without a billing system.</p>
<p>Once you train yourself to seek out the limit in all endeavors, you’ll get better and faster at correcting the inevitable oversteps, and hit that peak performance.</p>
<p>But if you never dare venture close to the limit, you’ll find that it’s shrinking all the time. There will be even more people you could possibly offend, even more bells that need whistling, ever more realities of the real world you cannot change.</p></blockquote>
<p>From <a href="http://37signals.com/svn/posts/3058-seven-degrees-of-slip">Seven degrees of slip</a>.</p>
<p>Lately one of the limits I’ve hit were advanced threading concepts in .NET. It’s an area where I haven’t stepped much aside from some rather simple use cases &amp; basic usage. But recently I had to solve few (non trivial for me) threading puzzles/exercises and today I’ve been hit by IIS showing ‘Deadlock detected’ for one of our Server components. It hurts…</p>
<p>In the same time it clearly shows a limit in my knowledge and experience. So, let’s hit it with an action plan: dig dipper in Threading. Then review those threading puzzles and sort out the deadlock out of the system.</p>
<p>Resources:</p>
<ul>
<li><a href="http://www.albahari.com/threading/">Threading in C# by Joseph Albahari</a>. It’s a book available online for free</li>
<li><a href="http://www.amazon.com/dp/032143482X/">Concurrent Programming on Windows by Joe Duffy</a>. Paper book and Kindle from Amazon</li>
</ul>
<p>Both are well recommended on StackOverflow…</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/varely.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/varely.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/varely.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/varely.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/varely.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/varely.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/varely.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/varely.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/varely.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/varely.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/varely.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/varely.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/varely.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/varely.wordpress.com/365/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=365&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.caraulean.com/2011/12/19/hitting-the-limits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d96a7814c830eb5ee8e12b677212cae?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">varely</media:title>
		</media:content>
	</item>
		<item>
		<title>So, are you going to release?..</title>
		<link>http://blog.caraulean.com/2011/12/19/so-are-you-going-to-release/</link>
		<comments>http://blog.caraulean.com/2011/12/19/so-are-you-going-to-release/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 11:00:00 +0000</pubDate>
		<dc:creator>Valeriu Caraulean</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">https://varely.wordpress.com/?p=362</guid>
		<description><![CDATA[A good story (not the main for that article): …the keynote speaker shared a story about a failed project. He joined the project a couple of years into the development, and the team had yet to release anything to production. He went on to detail that he was on the project another year and a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=362&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://lostechies.com/jimmybogard/2011/12/16/duke-nukem-unhappy-marriages-and-the-anna-karenina-principle">A good story</a> (not the main for that article):</p>
<blockquote><p>…the keynote speaker shared a story about a failed project. He joined the project a couple of years into the development, and the team had yet to release anything to production. He went on to detail that he was on the project another year and a half, with no production release in sight, and left the project.</p>
<p>This project was one of those legacy re-writes, given pretty much unlimited budget and resources, in hopes that this would produce the best possible replacement for the existing product. The project had budget, resources, executive backing and visibility, technical leadership, support from domain experts etc. etc. Yet the <strong>project was still a colossal failure</strong>. Why? <strong>It never released</strong>!</p>
</blockquote>
<p>There are many reasons why you should release as soon as possible. But the main are to get a feedback from your target audience and validate your technical decisions. Both of them are extremely important at early development stage in order to confirm that you’re building what people will buy and you’re doing it right.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/varely.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/varely.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/varely.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/varely.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/varely.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/varely.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/varely.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/varely.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/varely.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/varely.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/varely.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/varely.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/varely.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/varely.wordpress.com/362/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=362&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.caraulean.com/2011/12/19/so-are-you-going-to-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d96a7814c830eb5ee8e12b677212cae?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">varely</media:title>
		</media:content>
	</item>
		<item>
		<title>Using WP7&#8217;s Secondary Tiles with Caliburn.Micro</title>
		<link>http://blog.caraulean.com/2011/12/13/using-wp7s-secondary-tiles-with-caliburn-micro/</link>
		<comments>http://blog.caraulean.com/2011/12/13/using-wp7s-secondary-tiles-with-caliburn-micro/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 23:04:22 +0000</pubDate>
		<dc:creator>Valeriu Caraulean</dc:creator>
				<category><![CDATA[wp7]]></category>
		<category><![CDATA[caliburn.micro]]></category>

		<guid isPermaLink="false">https://varely.wordpress.com/?p=357</guid>
		<description><![CDATA[There’s good guide on how to manage WP7’s Secondary tiles on MSDN. So, how are you doing it with Caliburn.Micro? Take same way, it just works! However, there’s a small touch of Caliburn.Micro goodness you can add to your code to make it more maintainable. When you’re setting the URI for your Tile, use the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=357&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There’s good guide on <a href="http://msdn.microsoft.com/en-us/library/hh202979(v=vs.92).aspx">how to manage WP7’s Secondary tiles</a> on MSDN.</p>
<p>So, how are you doing it with Caliburn.Micro? Take same way, it just works!</p>
<p>However, there’s a small touch of Caliburn.Micro goodness you can add to your code to make it more maintainable. When you’re setting the URI for your Tile, use the INavigationService.UriFor&lt;&gt;() extension method. This will make your code a little more friendly for an eventual refactoring and for sure will save you from few nasty bugs.</p>
<p>Sample code:</p>
<pre class="code"><span style="color:blue;">var </span>newTileData = <span style="color:blue;">new </span><span style="color:#2b91af;">StandardTileData
</span>{
    Title = <span style="color:#a31515;">"my tile"</span>,
    BackTitle = <span style="color:#a31515;">"my tile details"</span>,
    BackContent = <span style="color:#a31515;">"description"</span>,
};

<span style="color:#2b91af;">ShellTile</span>.Create(navigationService.UriFor&lt;<span style="color:#2b91af;">MyViewModel</span>&gt;()
                     .WithParam(x =&gt; x.ViewModelParameter, <span style="color:#a31515;">"some value"</span>)
                     .BuildUri(),
                 newTileData);

</pre>
<p>Piece of cake!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/varely.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/varely.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/varely.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/varely.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/varely.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/varely.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/varely.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/varely.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/varely.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/varely.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/varely.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/varely.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/varely.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/varely.wordpress.com/357/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=357&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.caraulean.com/2011/12/13/using-wp7s-secondary-tiles-with-caliburn-micro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d96a7814c830eb5ee8e12b677212cae?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">varely</media:title>
		</media:content>
	</item>
		<item>
		<title>Using WP7&#8242;s ProgressIndicator with Caliburn.Micro</title>
		<link>http://blog.caraulean.com/2011/12/09/using-wp7s-progressindicator-with-caliburn-micro/</link>
		<comments>http://blog.caraulean.com/2011/12/09/using-wp7s-progressindicator-with-caliburn-micro/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 23:45:10 +0000</pubDate>
		<dc:creator>Valeriu Caraulean</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[wp7]]></category>
		<category><![CDATA[caliburn.micro]]></category>

		<guid isPermaLink="false">https://varely.wordpress.com/?p=352</guid>
		<description><![CDATA[The Windows Phone SDK 7.1 introduced a new control to show the progress of long operations or interactions, ProgressIndicator. As I love much the Caliburn.Micro framework I got some time to integrate neatly ProgressIndicator with the rest of application and services using Caliburn’s container. First of all, let’s define our application facing progress service: public [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=352&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The Windows Phone SDK 7.1 introduced a new control to show the progress of long operations or interactions, ProgressIndicator. As I love much the <a href="http://caliburnmicro.codeplex.com">Caliburn.Micro</a> framework I got some time to integrate neatly ProgressIndicator with the rest of application and services using Caliburn’s container.</p>
<p>First of all, let’s define our application facing progress service:</p>
<pre class="code"><span style="color:blue;">public interface </span><span style="color:#2b91af;">IProgressService </span>{
    <span style="color:blue;">void </span>Show();
    <span style="color:blue;">void </span>Show(<span style="color:blue;">string </span>text);
    <span style="color:blue;">void </span>Hide();
}</pre>
<p>Pretty simple, yes…</p>
<p>The implementation was partly inspired by <a href="http://www.jeff.wilcox.name/2011/07/creating-a-global-progressindicator-experience-using-the-windows-phone-7-1-sdk-beta-2/">Jeff Wilcox’s article about creating a global ProgressIndicator</a>.</p>
<p>It’s pretty simple and straightforward: we’re getting the Root Application Frame and hooking up to the Navigated event. His arguments contain the page being navigated to. Then we’re attaching our instance of ProgressIndicator to that page. And the service uses Show/Hide methods to manipulate the state of indicator. The code:</p>
<pre class="code"><span style="color:blue;">public class </span><span style="color:#2b91af;">ProgressService </span>: <span style="color:#2b91af;">IProgressService </span>{
    <span style="color:blue;">const string </span>DefaultIndicatorText = <span style="color:#a31515;">"Loading..."</span>;
    <span style="color:blue;">private readonly </span><span style="color:#2b91af;">ProgressIndicator </span>progressIndicator;

    <span style="color:blue;">public </span>ProgressService(<span style="color:#2b91af;">PhoneApplicationFrame </span>rootFrame)
    {
        progressIndicator = <span style="color:blue;">new </span><span style="color:#2b91af;">ProgressIndicator </span>{Text = DefaultIndicatorText};

        rootFrame.Navigated += RootFrameOnNavigated;
    }

    <span style="color:blue;">private void </span>RootFrameOnNavigated(<span style="color:blue;">object </span>sender, <span style="color:#2b91af;">NavigationEventArgs </span>args)
    {
        <span style="color:blue;">var </span>content = args.Content;
        <span style="color:blue;">var </span>page = content <span style="color:blue;">as </span><span style="color:#2b91af;">PhoneApplicationPage</span>;
        <span style="color:blue;">if </span>(page == <span style="color:blue;">null</span>)
            <span style="color:blue;">return</span>;

        page.SetValue(<span style="color:#2b91af;">SystemTray</span>.ProgressIndicatorProperty, progressIndicator);
    }

    <span style="color:blue;">public void </span>Show()
    {
        Show(DefaultIndicatorText);
    }

    <span style="color:blue;">public void </span>Show(<span style="color:blue;">string </span>text)
    {
        progressIndicator.Text = text;
        progressIndicator.IsIndeterminate = <span style="color:blue;">true</span>;
        progressIndicator.IsVisible = <span style="color:blue;">true</span>;
    }

    <span style="color:blue;">public void </span>Hide()
    {
        progressIndicator.IsIndeterminate = <span style="color:blue;">false</span>;
        progressIndicator.IsVisible = <span style="color:blue;">false</span>;
    }
}</pre>
<p>The last piece of this mini-puzzle is wiring up the service to container and made it available to the rest of application:</p>
<pre class="code"><span style="color:blue;">public class </span><span style="color:#2b91af;">AppBootstrapper </span>: <span style="color:#2b91af;">PhoneBootstrapper </span>{
    <span style="color:blue;">private </span><span style="color:#2b91af;">PhoneContainer </span>container;

    <span style="color:blue;">protected override void </span>Configure()
    {
        container = <span style="color:blue;">new </span><span style="color:#2b91af;">PhoneContainer</span>(RootFrame);
        container.Instance&lt;<span style="color:#2b91af;">IProgressService</span>&gt;(<span style="color:blue;">new </span><span style="color:#2b91af;">ProgressService</span>(RootFrame));</pre>
<p>That’s all. Now declare a dependency on IProgressService whenever you need it and show/hide to give a nice feedback to the User when your application is doing something long. You never forget that User is the ultimate chief and judge in our business, right?..</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/varely.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/varely.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/varely.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/varely.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/varely.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/varely.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/varely.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/varely.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/varely.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/varely.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/varely.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/varely.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/varely.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/varely.wordpress.com/352/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=352&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.caraulean.com/2011/12/09/using-wp7s-progressindicator-with-caliburn-micro/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d96a7814c830eb5ee8e12b677212cae?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">varely</media:title>
		</media:content>
	</item>
		<item>
		<title>Using WCF without configuration files</title>
		<link>http://blog.caraulean.com/2011/11/16/using-wcf-without-configuration-files/</link>
		<comments>http://blog.caraulean.com/2011/11/16/using-wcf-without-configuration-files/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 23:14:59 +0000</pubDate>
		<dc:creator>Valeriu Caraulean</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">https://varely.wordpress.com/2011/11/16/using-wcf-without-configuration-files/</guid>
		<description><![CDATA[I have recently published new project on GitHub, WcfWithoutConfigFile. This post is intended as a ‘readme’ file for this repository. It’s just a collection of simple projects that I’ve put together when a coworker asked me to show how he can use WCF without configuration files. He got feed up working with XML in web.config [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=350&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have recently published new project on GitHub, <a href="http://github.com/vcaraulean/WcfWithoutConfigFile">WcfWithoutConfigFile</a>. This post is intended as a ‘readme’ file for this repository.</p>
<p>It’s just a collection of simple projects that I’ve put together when a coworker asked me to show how he can use WCF without configuration files. He got feed up working with XML in web.config and wanted a cleaner and more understandable way to configure Windows Communication Foundation.</p>
<p>What’s in:</p>
<ul>
<li>How to use WCF in your unit tests (<a href="http://github.com/vcaraulean/WcfWithoutConfigFile/tree/master/WcfWithoutConfigFile.Tests">WcfWithoutConfigFile.Tests</a> project). Sometimes you want to get your code tested at service boundaries and you want to involve also WCF. It contains, among a simple unit test, a base class for your tests so the test cases are clean and don’t contain plumbing code.
<li>Hosting WCF services in IIS (<a href="http://github.com/vcaraulean/WcfWithoutConfigFile/tree/master/WcfWithoutConfigFile.WebHost">WcfWithoutConfigFile.WebHost</a> project). Defining the service in .svc files and all required infrastructure to instantiate the service via code-only configuration.
<li><strong>My favorite</strong> – hosting WCF service in IIS using Castle’s <a href="http://www.castleproject.org/container/facilities/trunk/wcf/index.html">WcfIntegration facility</a>&nbsp; (<a href="https://github.com/vcaraulean/WcfWithoutConfigFile/tree/master/WcfWithoutConfigFile.WebHost.Castle">WcfWithoutConfigFile.WebHost.Castle</a> project). It leverages Castle Windsor container and WcfFacility to easily host/run/consume your WCF services. It also configures the service to use Windows authentication and shows how to retrieve client’s WindowsIdentity in the service. There is also a client project, <a href="https://github.com/vcaraulean/WcfWithoutConfigFile/tree/master/WcfWithoutConfigFile.WebHost.Castle-Client">WcfWithoutConfigFile.WebHost.Castle-Client</a> that connects to service and does some operations.</li>
</ul>
<p><a href="https://github.com/vcaraulean/WcfWithoutConfigFile/tree/master/WcfWithoutConfigFile.WebHost.Castle">WcfWithoutConfigFile.WebHost.Castle</a> requires some configuration to get it working properly. Be sure to:</p>
<ul>
<li>Run it in IIS Express
<li>Enable Windows Authentication in project properties</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/varely.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/varely.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/varely.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/varely.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/varely.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/varely.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/varely.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/varely.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/varely.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/varely.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/varely.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/varely.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/varely.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/varely.wordpress.com/350/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=350&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.caraulean.com/2011/11/16/using-wcf-without-configuration-files/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d96a7814c830eb5ee8e12b677212cae?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">varely</media:title>
		</media:content>
	</item>
		<item>
		<title>The Life After Silverlight 5</title>
		<link>http://blog.caraulean.com/2011/11/15/the-life-after-silverlight-5/</link>
		<comments>http://blog.caraulean.com/2011/11/15/the-life-after-silverlight-5/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 11:28:07 +0000</pubDate>
		<dc:creator>Valeriu Caraulean</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">https://varely.wordpress.com/2011/11/15/the-life-after-silverlight-5/</guid>
		<description><![CDATA[There is a lot of panic in Microsoft eco-system caused by some rumors that Silverlight 5 will be the last of the family. Developers are crying about skills being buried and managers fearing about the future of in-house enterprise-grade projects. And everyone is guessing what will be Microsoft pushing in the segment currently occupied by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=336&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There is a lot of panic in Microsoft eco-system caused by some <a href="http://www.zdnet.com/blog/microsoft/will-there-be-a-silverlight-6-and-does-it-matter/11180">rumors that Silverlight 5 will be the last of the family</a>. Developers are crying about skills being buried and managers fearing about the future of in-house enterprise-grade projects.</p>
<p>And everyone is guessing what will be Microsoft pushing in the segment currently occupied by Silverlight. Now we have two available options, the new guy in the block – the HTML 5, and the good old and trusty WPF. Won’t mention Windows 8 here as it’s way to the Enterprise is too long to be considered as an option.</p>
<p>So, everyone is watching the next move of Microsoft as there is not a clear winner – HTML 5 is too young to be considered seriously and WPF is too old to be considered as a long-time investment. When Silverlight was a competitor <a href="http://www.scottlogic.co.uk/blog/colin/2011/05/flex-silverlight-html5-time-to-decide/">the choice was rather easy</a>, now <a href="http://www.scottlogic.co.uk/blog/colin/2011/11/the-untimely-demise-of-the-plugin-and-how-lob-developments-will-suffer/">picture is much more blurred</a>.</p>
<h2>In my view</h2>
<p>XAML &amp; .NET will stay with us. Will it be WPF, Metro or anything MS will roll out for Desktop and LOB applications it will be based on those two pillars. At least for 7-10 years we’re assured. </p>
<p>I’ll make few guesses, what MS’s steps will be after Silverlight end will be announced (it will be interesting to read it in a year or two):</p>
<ul>
<li>A promise that Silverlight 5 will be supported for next 3-4 years
<li>A tool for a relatively easy migration from Silverlight to WPF (and/or Windows 8 programming model) will be available
<li>Newer versions of WPF will promote features previously hyped as Silverlight’s exclusives (in-browser apps, sandboxing, web deployment &amp; updates and others) minus the ability to run in browsers on various platforms.</li>
</ul>
<p>As for companies struggling with the choice right now (and it will probably true for near future), you’ll have to decide:</p>
<ul>
<li>Interaction and Data intensive applications, Rich User Experience, Resource Intensive application, deep OS integration – embrace the WPF and be happy (if you don’t mind to lock yourself to MS and Windows).
<li>Platform independent, high user base, moderately interactive UIs, presentation and manipulation of small amounts of data – your best bet is the Web: HTML5, CSS3 and JavaScript will be your tools.</li>
</ul>
<p>And if you still struggle with the choice the best thing you can do next is to look at your current development team. If they are more experienced and efficient with Web technologies you’re set. If they are mostly Desktop specialists then you’d want to explore their productivity to the max and get the release date closer. You’re sorted.</p>
<p><u>And the last word</u>: don’t be a mono-disciplinary developer. Don’t lock yourself exclusively in Desktop or Web, Microsoft or LAMP or whatever. The day you’ll fail to pick, learn and use efficiently a new tool/framework will mean your career as a Professional Software Developer is done. Be open. Look around, there are so many amazing things in Software Development industry. Just pick something new and learn. It will be one of the best investments you can do in your future. You can do it right now…</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/varely.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/varely.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/varely.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/varely.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/varely.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/varely.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/varely.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/varely.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/varely.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/varely.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/varely.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/varely.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/varely.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/varely.wordpress.com/336/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=336&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.caraulean.com/2011/11/15/the-life-after-silverlight-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d96a7814c830eb5ee8e12b677212cae?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">varely</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsoft is delivering Mango, Zune wants to update my Samsung Omnia 7!</title>
		<link>http://blog.caraulean.com/2011/09/27/microsoft-is-delivering-mango-zune-wants-to-update-my-samsung-omnia-7/</link>
		<comments>http://blog.caraulean.com/2011/09/27/microsoft-is-delivering-mango-zune-wants-to-update-my-samsung-omnia-7/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 20:12:30 +0000</pubDate>
		<dc:creator>Valeriu Caraulean</dc:creator>
				<category><![CDATA[wp7]]></category>

		<guid isPermaLink="false">https://varely.wordpress.com/2011/09/27/microsoft-is-delivering-mango-zune-wants-to-update-my-samsung-omnia-7/</guid>
		<description><![CDATA[Microsoft today announced that Mango is on the way to consumer devices. I&#8217; was quite surprised to see Zune telling me that I have an update pending. I’ve been expecting it to come later to my phone as it was with previous updates. But it looks like Microsoft tuned their update process and now it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=331&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Microsoft today <a href="http://windowsteamblog.com/windows_phone/b/windowsphone/archive/2011/09/27/windows-phone-7-5-mango-update-begins.aspx">announced</a> that Mango is on the way to consumer devices. I&#8217; was quite surprised to see Zune telling me that I have an update pending. I’ve been expecting it to come later to my phone as it was with previous updates. But it looks like Microsoft tuned their update process and now it will be delivered much quicker (and I hope without bad surprises). You can watch the update wave on <a href="http://mango.microsoft.com/windowsphone/en-us/features/update-schedules.aspx">Where’s my phone update</a> page on Microsoft’s site.</p>
<p>And if you’re waiting eagerly for this update and nothing is coming, <a href="http://www.wpcentral.com/force-mango-update-early-through-zune-software">try this trick</a>, it helped lot’s of people to get it when Zune says it has no updates.</p>
<p>So, now I have an unbranded Samsung Omnia 7 device with next software parameters:</p>
<ul>
<li>OS version: 7.0.7392.0
<li>Firmware revision number: 2424.11.2.3
<li>Hardware revision number: 3.15.0.4
<li>Radio software version: 2424.11.2.2
<li>Radio hardware version: 0.0.0.800
<li>Bootloader version: 5.2.1.4
<li>Chip SOC version: 0.36.2.0</li>
</ul>
<p>And Zune says it has an update to <strong>7.0.7403.0</strong>. Is it the Mango or some intermediary release? There is no way to see it unless… Let’s go!</p>
<h3>Update log, just curios look later at the whole process and install experience</h3>
<p>It’s 21:18, pushing Update button:</p>
<ul>
<li>Download is quick
<li>21:19, Step 6 of 10: Restarting your phone…
<li>21:20, Step 7 of 10: Creating a backup…
<li>21.26, Step 8 of 10: Installing updates… (progress bar on the phone is moving)
<li>21:31, Step 9 of 10: Restarting your phone…
<li>21:31, Completed!</li>
</ul>
<p>And right after that Zune started new update, saying it’s <strong>7.10.7720.68</strong>. Is THIS Mango?</p>
<ul>
<li>This time download takes longer…
<li>21:37, download completed
<li>21:38, Step 4 of 9: Transferring updates
<li>21.28, Step 5 of 9: Preparing to install
<li>21:40, Step 6 of 9: Restarting your phone
<li>21:42, Step 7 of 9: Installing updates (progress bar on the phone moving slowly)
<li>21:59, Step 8 of 9: Restarting your phone
<li>22:01, Step 9 of 9, Completing updates</li>
</ul>
<p>“Checking for additional updates” – WHAT?</p>
<p>No, it’s finished now. It took ~<strong>45 minutes to install two updates</strong>.</p>
<p>Starting logo is changed, red now. Hey, it looks like I got Mango!</p>
<p>Software components that were updated:</p>
<ul>
<li>OS version: 7.10.7720.68
<li>Firmware revision number: 2424.11.8.5
<li>Radio software version: 2424.11.7.2
<li>Bootloader version: 5.8.1.9</li>
</ul>
<p>So far I’m loving it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/varely.wordpress.com/331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/varely.wordpress.com/331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/varely.wordpress.com/331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/varely.wordpress.com/331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/varely.wordpress.com/331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/varely.wordpress.com/331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/varely.wordpress.com/331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/varely.wordpress.com/331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/varely.wordpress.com/331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/varely.wordpress.com/331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/varely.wordpress.com/331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/varely.wordpress.com/331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/varely.wordpress.com/331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/varely.wordpress.com/331/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=331&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.caraulean.com/2011/09/27/microsoft-is-delivering-mango-zune-wants-to-update-my-samsung-omnia-7/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d96a7814c830eb5ee8e12b677212cae?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">varely</media:title>
		</media:content>
	</item>
		<item>
		<title>Cultural differences&#8230;</title>
		<link>http://blog.caraulean.com/2011/09/21/cultural-differences/</link>
		<comments>http://blog.caraulean.com/2011/09/21/cultural-differences/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 16:13:10 +0000</pubDate>
		<dc:creator>Valeriu Caraulean</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">https://varely.wordpress.com/2011/09/21/cultural-differences/</guid>
		<description><![CDATA[Today I’ve been helping a coworker to bootstrap new project. Nothing fancy: ASP.NET site hosting WCF services, few POCOs and Entity Framework in Code First mode to rule persist them all. Interesting moment came when he wanted to see if his service actually works. He quickly created another project (Windows Forms) to try connect to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=328&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I’ve been helping a coworker to bootstrap new project. Nothing fancy: ASP.NET site hosting WCF services, few POCOs and Entity Framework in Code First mode to <strike>rule</strike> persist them all. </p>
<p>Interesting moment came when he wanted to see if his service actually works. He quickly created another project (Windows Forms) to try connect to newly created service. When I’ve seen that I’ve suggested that a unit test project would be easier and more useful, he preferred to go his route and added buttons, large text block and some plumbing code to take service’s response to the screen.</p>
<p>I’m not blaming here (as he is rather new to .NET platform), but his approach has few disadvantages versus verifying a service using unit tests:</p>
<ul>
<li>it’s slower to create a minimally meaningful solution: a crappy screen with a button “connect” and large text box to see results? I’d prefer a test with an assertion and may be some console output
<li>it’s slower to analyze results: you have to scan the screen to see/analyze replies. I’d prefer that a test assertion would take care of that.
<li>it’s error prone: you have to rely on human input to test it. I’d prefer an automated approach.
<li>it’s not repeatable nor scalable: what if you have second service? 10 methods in service?. I’d create new test fixture and refactor existing code, not UI.
<li>…</li>
</ul>
<p>… lot’s of things that are wrong with this approach. </p>
<p>Even if it’s a short living spike, new project, new feature – whatever needs a proof of code in working state – <strong>I’d prefer to write a test for it</strong>. And I’m not talking here about rigorous Test-Driven-Development approach. It’s more like <strong>acceptance testing at service or component boundaries</strong>, only to be sure that it works as expected. And creating an UI just to see that a service works – it sounds wrong to me. But those are “cultural differences”, I think…</p>
<p>PS: By “cultural differences” I mean past experience, habits, education, professional environment and so on&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/varely.wordpress.com/328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/varely.wordpress.com/328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/varely.wordpress.com/328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/varely.wordpress.com/328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/varely.wordpress.com/328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/varely.wordpress.com/328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/varely.wordpress.com/328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/varely.wordpress.com/328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/varely.wordpress.com/328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/varely.wordpress.com/328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/varely.wordpress.com/328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/varely.wordpress.com/328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/varely.wordpress.com/328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/varely.wordpress.com/328/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=328&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.caraulean.com/2011/09/21/cultural-differences/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d96a7814c830eb5ee8e12b677212cae?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">varely</media:title>
		</media:content>
	</item>
		<item>
		<title>How to make Caliburn.Micro and Silverlight resources in MergedDictionaries play nicely together</title>
		<link>http://blog.caraulean.com/2011/09/13/how-to-make-caliburn-micro-and-silverlight-resources-in-mergeddictionaries-play-nicely-together/</link>
		<comments>http://blog.caraulean.com/2011/09/13/how-to-make-caliburn-micro-and-silverlight-resources-in-mergeddictionaries-play-nicely-together/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 21:43:00 +0000</pubDate>
		<dc:creator>Valeriu Caraulean</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">https://varely.wordpress.com/2011/09/13/how-to-make-caliburn-micro-and-silverlight-resources-in-mergeddictionaries-play-nicely-together/</guid>
		<description><![CDATA[I’ve fixed an error in our codebase that prevented Caliburn’s bootstrapper and application resources to live happily together. That was manifesting like warnings in xaml about missing resources and styles, no right styles in Visual Studio designer and so on. Now, to reproduce the problem we have to follow Caliburn’s guidelines then make few changes: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=325&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I’ve fixed an error in our codebase that prevented Caliburn’s bootstrapper and application resources to live happily together. That was manifesting like warnings in xaml about missing resources and styles, no right styles in Visual Studio designer and so on.</p>
<p>Now, to reproduce the problem we have to follow Caliburn’s guidelines then make few changes:</p>
<ul>
<li>Create new Silverlight 4 application
<li>Add Caliburn.Micro NuGet package
<li><a href="http://caliburnmicro.codeplex.com/wikipage?title=Nuget">Configure your application</a> to bootstrap Caliburn
<li>Add new Resource Dictionary to host your common styles/brushes/whatever
<li>Include your dictionary in MergedDictionaries section
<li>Add a fancy color brush and use it in ShellView.xaml by referencing it as a static resource
<li>Build your app</li>
</ul>
<p>Your application will compile and run fine. However, you can spot few <strong>issues</strong> with your code:</p>
<ul>
<li>ShellView.xaml:
<ul>
<li>Xaml editor displaying warning: “The resource could not be resolved”
<li>VS Designer will not use your resource on design surface</li>
</ul>
<li>App.xaml
<ul>
<li>Xaml editor displaying warning: “The designer does not support loading dictionaries that mix &#8216;ResourceDictionary&#8217; items without a key and other items in the same collection. Please ensure that the &#8216;Resources&#8217; property does not contain &#8216;ResourceDictionary&#8217; items without a key, or that the &#8216;ResourceDictionary&#8217; item is the only element in the collection.”</li>
</ul>
</li>
</ul>
<p>To solve this problem you have to modify your App.xaml.</p>
<p>The original App.xaml fragment, as by following recommendations:</p>
<pre class="code">    <span style="color:blue;">&lt;</span><span style="color:#a31515;">Application.Resources</span><span style="color:blue;">&gt;
        &lt;</span><span style="color:#a31515;">ResourceDictionary</span><span style="color:blue;">&gt;
            &lt;</span><span style="color:#a31515;">ResourceDictionary.MergedDictionaries</span><span style="color:blue;">&gt;
                &lt;</span><span style="color:#a31515;">ResourceDictionary </span><span style="color:red;">Source</span><span style="color:blue;">="Themes/Generic.xaml" /&gt;
            &lt;/</span><span style="color:#a31515;">ResourceDictionary.MergedDictionaries</span><span style="color:blue;">&gt;
        &lt;/</span><span style="color:#a31515;">ResourceDictionary</span><span style="color:blue;">&gt;
        &lt;</span><span style="color:#a31515;">local</span><span style="color:blue;">:</span><span style="color:#a31515;">AppBootstrapper </span><span style="color:red;">x</span><span style="color:blue;">:</span><span style="color:red;">Key</span><span style="color:blue;">="bootstrapper" /&gt;
    &lt;/</span><span style="color:#a31515;">Application.Resources</span><span style="color:blue;">&gt;
</span></pre>
<p>Now, the <strong>corrected version</strong> that removes all issues I’ve described earlier:</p>
<pre class="code">    <span style="color:blue;">&lt;</span><span style="color:#a31515;">Application.Resources</span><span style="color:blue;">&gt;
        &lt;</span><span style="color:#a31515;">ResourceDictionary</span><span style="color:blue;">&gt;
            &lt;</span><span style="color:#a31515;">ResourceDictionary.MergedDictionaries</span><span style="color:blue;">&gt;
                &lt;</span><span style="color:#a31515;">ResourceDictionary </span><span style="color:red;">Source</span><span style="color:blue;">="Themes/Generic.xaml" /&gt;
                &lt;</span><span style="color:#a31515;">ResourceDictionary</span><span style="color:blue;">&gt;
                    &lt;</span><span style="color:#a31515;">local</span><span style="color:blue;">:</span><span style="color:#a31515;">AppBootstrapper </span><span style="color:red;">x</span><span style="color:blue;">:</span><span style="color:red;">Key</span><span style="color:blue;">="bootstrapper" /&gt;
                &lt;/</span><span style="color:#a31515;">ResourceDictionary</span><span style="color:blue;">&gt;
            &lt;/</span><span style="color:#a31515;">ResourceDictionary.MergedDictionaries</span><span style="color:blue;">&gt;
        &lt;/</span><span style="color:#a31515;">ResourceDictionary</span><span style="color:blue;">&gt;
    &lt;/</span><span style="color:#a31515;">Application.Resources</span><span style="color:blue;">&gt;
</span></pre>
<p>Actually, this fragment is the <strong>recommended way of instantiating boostrapper for WPF</strong> version of Caliburn.Micro. Why it isn’t recommended also for Silverlight? I don’t know. For our rather large project I haven’t seen any downgrades and issues using this approach. Just few annoying bugs were gone…</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/varely.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/varely.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/varely.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/varely.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/varely.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/varely.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/varely.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/varely.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/varely.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/varely.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/varely.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/varely.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/varely.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/varely.wordpress.com/325/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=325&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.caraulean.com/2011/09/13/how-to-make-caliburn-micro-and-silverlight-resources-in-mergeddictionaries-play-nicely-together/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d96a7814c830eb5ee8e12b677212cae?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">varely</media:title>
		</media:content>
	</item>
		<item>
		<title>TortoiseHG and JIRA integration&#8211;the lightweight option</title>
		<link>http://blog.caraulean.com/2011/09/09/tortoisehg-and-jira-integrationthe-lightweight-option/</link>
		<comments>http://blog.caraulean.com/2011/09/09/tortoisehg-and-jira-integrationthe-lightweight-option/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 09:29:08 +0000</pubDate>
		<dc:creator>Valeriu Caraulean</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">https://varely.wordpress.com/2011/09/09/tortoisehg-and-jira-integrationthe-lightweight-option/</guid>
		<description><![CDATA[You can integrate JIRA and TortoiseHG Workbench at two levels: Only highlight the issue in your revision details and allow quickly open it in browser Connect to your JIRA and show the list of issues with all filters, view details and pick issues to include in your commit. Now we’ll focus on the easiest option [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=323&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>You can integrate JIRA and TortoiseHG Workbench at two levels:</p>
<ul>
<li>Only highlight the issue in your revision details and allow quickly open it in browser</li>
<li>Connect to your JIRA and show the list of issues with all filters, view details and pick issues to include in your commit.</li>
</ul>
<p>Now we’ll focus on the easiest option to implement – displaying issue number in commit message&nbsp; and open it in browser.</p>
<p>Required settings:</p>
<ul>
<li>Open <strong>Issue Tracking</strong> category in Settings dialog of TortoiseHG</li>
<li>Set properties to</li>
<ul>
<li><strong>Issue Regex</strong>: \b\w{3,7}-\d+\b</li>
<li><strong>Issue Link</strong>: <a title="http://jira.server.com:8080/browse/{0}" href="http://your.jira.server.com:8080/browse/{0}">http://your.jira.server.com:8080/browse/{0}</a></li>
</ul>
<li>Ignore the rest of settings for now</li>
</ul>
<p>See the screenshot, it should look like this:</p>
<p><a href="http://varely.files.wordpress.com/2011/09/image.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://varely.files.wordpress.com/2011/09/image_thumb.png?w=573&h=296" width="573" height="296"></a></p>
<p>&nbsp;</p>
<p>Now if your commit message in revision details will contain a code of an Issue (or what will be detected as code) it will be highlighted as a hyperlink and clicking it will open a browser with your Issue details in JIRA.</p>
<p><a href="http://varely.files.wordpress.com/2011/09/image1.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://varely.files.wordpress.com/2011/09/image_thumb1.png?w=581&h=393" width="581" height="393"></a></p>
<p>I’m trying to get a deeper integration working, unsuccessfully so far. When it will be done will publish a follow-up post…</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/varely.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/varely.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/varely.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/varely.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/varely.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/varely.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/varely.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/varely.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/varely.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/varely.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/varely.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/varely.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/varely.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/varely.wordpress.com/323/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.caraulean.com&#038;blog=1485392&#038;post=323&#038;subd=varely&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.caraulean.com/2011/09/09/tortoisehg-and-jira-integrationthe-lightweight-option/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d96a7814c830eb5ee8e12b677212cae?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">varely</media:title>
		</media:content>

		<media:content url="http://varely.files.wordpress.com/2011/09/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://varely.files.wordpress.com/2011/09/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
	</channel>
</rss>
