<?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>Edward Wilde</title>
	<atom:link href="http://blogs.edwardwilde.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.edwardwilde.com</link>
	<description>Developer   &#124;   Diver</description>
	<lastBuildDate>Wed, 15 May 2013 08:51:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blogs.edwardwilde.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Edward Wilde</title>
		<link>http://blogs.edwardwilde.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blogs.edwardwilde.com/osd.xml" title="Edward Wilde" />
	<atom:link rel='hub' href='http://blogs.edwardwilde.com/?pushpress=hub'/>
		<item>
		<title>How does Xamarin.IOS aka monotouch work?</title>
		<link>http://blogs.edwardwilde.com/2013/04/13/how-does-xamarin-ios-aka-monotouch-work/</link>
		<comments>http://blogs.edwardwilde.com/2013/04/13/how-does-xamarin-ios-aka-monotouch-work/#comments</comments>
		<pubDate>Sat, 13 Apr 2013 17:00:15 +0000</pubDate>
		<dc:creator>Edward Wilde</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[monotouch]]></category>
		<category><![CDATA[xamarin.ios]]></category>

		<guid isPermaLink="false">https://edwardwilde.wordpress.com/?p=476</guid>
		<description><![CDATA[Xamarin is a software development framework that allows developers to build applications for iOS and Android platforms using c# and the .Net framework. The SDK has separate requirements for developing iOS and Android application. The part of the SDK targeting iOS development is referred to as Xamarin.iOS or monotouch (the original name of the project) [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=476&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Xamarin is a software development framework that allows developers to build applications for iOS and Android platforms using c# and the .Net framework. The SDK has separate requirements for developing iOS and Android application. The part of the SDK targeting iOS development is referred to as Xamarin.iOS or monotouch (the original name of the project)</p>
<div>
<table style="border-collapse:collapse;" border="0" cellpadding="3">
<col style="width:171px;" />
<col style="width:430px;" />
<tbody valign="top">
<tr style="background:#000000;">
<td style="padding:10px;" colspan="2"><strong style="color:#ffffff;">Requirements for developing iOS applications using Xamarin.iOS </strong></td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:solid #9cc2e5 .5pt;border-bottom:solid #9cc2e5 .5pt;border-right:solid #9cc2e5 .5pt;"><strong>Apple Macintosh Computer</strong></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .5pt;border-right:solid #9cc2e5 .5pt;">Running OSX Lion or greater (10.7 &gt;)</td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:solid #9cc2e5 .5pt;border-bottom:solid #9cc2e5 .5pt;border-right:solid #9cc2e5 .5pt;"><strong>Apple Developer Program membership</strong></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .5pt;border-right:solid #9cc2e5 .5pt;">$99 per year, allows downloading of iOS SDK and publication of applications to the Apple app store</td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:solid #9cc2e5 .5pt;border-bottom:solid #9cc2e5 .5pt;border-right:solid #9cc2e5 .5pt;"><strong>iOS SDK and Xcode</strong></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .5pt;border-right:solid #9cc2e5 .5pt;">Required during compilation, and optionally can be used to design graphical user interfaces using it&#8217;s inbuilt graphical designer</td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:solid #9cc2e5 .5pt;border-bottom:solid #9cc2e5 .5pt;border-right:solid #9cc2e5 .5pt;"><strong>iOS Device Simulator</strong></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .5pt;border-right:solid #9cc2e5 .5pt;">Part of the SDK allows running of applications during the development process</td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:solid #9cc2e5 .5pt;border-bottom:solid #9cc2e5 .5pt;border-right:solid #9cc2e5 .5pt;"><strong>Xamarin studio or Visual Studio</strong></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .5pt;border-right:solid #9cc2e5 .5pt;">Not strictly necessary, however does automate the build process</td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:solid #9cc2e5 .5pt;border-bottom:solid #9cc2e5 .5pt;border-right:solid #9cc2e5 .5pt;"><strong>Knowledge of c#</strong></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .5pt;border-right:solid #9cc2e5 .5pt;">c# is the main language supported by Xamarin.iOS</td>
</tr>
</tbody>
</table>
</div>
<p><span style="color:#44546a;"><strong>Table 1 (Xamarin, Inc)<br />
</strong></span></p>
<p>Mono is an open source implementation of the .NET Framework which can run across multiple operating systems, Windows, Linux and OSX. Mono is based on ECMA standards and is ABI (application binary interface) compatible with ECMA&#8217;s Common language infrastructure (CLI).</p>
<p>Xamarin.iOS compiles c# source code against a special subset of the mono framework. This cut down version of the mono framework includes additional libraries which allow access to iOS platform specific features. The Xamarin.iOS compiler, smsc, takes source code and compiles it into an intermediate language, ECMA CIL (common intermediate language), however it does not produce ECMA ABI compatible binaries unlike the normal mono compiler, gmcs or dmsc. This means any 3<sup>rd</sup> party .Net libraries you want to include in your application will need to be recompiled against the Xamarin.iOS subset of the mono framework using smsc.</p>
<p>Once a Xamarin.iOS application has been compiled into CIL it needs to be compiled again into native machine code that can run on an iOS device. This process is carried out by the SDK tool &#8216;mtouch&#8217;, the result of which is an application bundle that can be deployed to either the iOS simulator or an actual iOS device, such as an iPhone or iPad.</p>
<p><a href="http://edwardwilde.files.wordpress.com/2013/04/diagram-showing-how-monotouch-aka-xamarin-ios-works1.png"><img class="alignnone size-full wp-image-486" alt="Diagram showing how monotouch aka xamarin.ios works?" src="http://edwardwilde.files.wordpress.com/2013/04/diagram-showing-how-monotouch-aka-xamarin-ios-works1.png?w=580&#038;h=886" width="580" height="886" /></a></p>
<p>Due to restrictions placed by Apple, the iOS kernel will not allow programs to generate code at runtime. This restriction has severe implications for software systems that run inside a virtual machine using just-in-time compilation. Just-in-time compilation takes the intermediate code, for example mono CIL and compiles it at runtime into machine code. This machine code is compatible for the device it is running on at the time of execution.</p>
<p>To work around this restriction the mtouch tool compiles the CIL ahead of time. A process that the mono team describe as AOT, ahead of time compilation. See: <a title="http://docs.xamarin.com/guides/ios/advanced_topics/limitations" href="http://docs.xamarin.com/guides/ios/advanced_topics/limitations">http://docs.xamarin.com/guides/ios/advanced_topics/limitations</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edwardwilde.wordpress.com/476/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edwardwilde.wordpress.com/476/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=476&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.edwardwilde.com/2013/04/13/how-does-xamarin-ios-aka-monotouch-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/196d33ea9cdaf7817b98b981afe62c16?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edward Wilde</media:title>
		</media:content>

		<media:content url="http://edwardwilde.files.wordpress.com/2013/04/diagram-showing-how-monotouch-aka-xamarin-ios-works1.png" medium="image">
			<media:title type="html">Diagram showing how monotouch aka xamarin.ios works?</media:title>
		</media:content>
	</item>
		<item>
		<title>.Net Interview Questions</title>
		<link>http://blogs.edwardwilde.com/2013/01/18/net-interview-questions/</link>
		<comments>http://blogs.edwardwilde.com/2013/01/18/net-interview-questions/#comments</comments>
		<pubDate>Fri, 18 Jan 2013 06:02:29 +0000</pubDate>
		<dc:creator>Edward Wilde</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[general]]></category>

		<guid isPermaLink="false">https://edwardwilde.wordpress.com/?p=470</guid>
		<description><![CDATA[General Questions Explain what a process is? In general a process consists of or ‘owns’ the following: A program image to execute, in machine code (think exe on disk) Memory, typically some block of virtual memory Executable code Data (input / output Call stack Heap, to hold intermediate data General CLR Questions 1. Explain garbage [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=470&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h2>General Questions</h2>
<h3>Explain what a process is?</h3>
<p>In general a process consists of or ‘owns’ the following:</p>
<ul>
<li><strong>A program image </strong>to execute, in machine code (think exe on disk)</li>
<li><strong>Memory</strong>, typically some block of virtual memory
<ul>
<li><em>Executable code</em></li>
<li><em>Data </em>(input / output</li>
<li><em>Call stack</em></li>
<li><em>Heap</em>, to hold intermediate data</li>
</ul>
</li>
</ul>
<h2>General CLR Questions</h2>
<h3></h3>
<h3>1. Explain garbage collection in .Net?</h3>
<p>Garbage collection will occur under one of the following conditions:</p>
<ul>
<li>The system is running low on physical memory</li>
<li>The heap surpasses an acceptable threshold. (This threshold is continuously adjusted as the process runs)</li>
<li>GC.Collect is called</li>
</ul>
<h4>The managed heap</h4>
<p>There is a managed heap for each managed process, the heap is initialized by the garbage collector. The garbage collector calls win32 <span style="font-family:Consolas;">VirtualAlloc </span>to reserve memory and <span style="font-family:Consolas;">VirtualFree</span> to release memory.</p>
<p>The heap is comprised of the <strong>large object heap</strong> (objects greater than 85k, normally only arrays) and the <strong>small object heap</strong></p>
<h4>Generations</h4>
<p>The heap is split into generations to manage long-lived and short-lived objects. Garbage collection generally occurs with the reclamation of short-lived objects which normally account for a small portion of the heap</p>
<p><strong>Generation 0</strong>: Contains short-lived objects, i.e. temporary variables. Collection occurs most here<br />
<strong>Generation 1</strong>: Contains short-lived objects, is a buffer between 0 &amp; 2 generations<br />
<strong>Generation 2</strong>: Contains long-lived objects, i.e. static instances, stateful instances</p>
<h4>Types of garbage collection</h4>
<h5>Workstation mode</h5>
<p>More suitable for long-running desktop applications, adds support for concurrent garbage collection which should mean that the application is more responsive during a collection.</p>
<h5>Server mode</h5>
<p>Best suited for asp.net, only supported on multi-processor machines</p>
<h6></h6>
<h4>References</h4>
<p><a href="http://msdn.microsoft.com/en-us/library/0xy59wtx.aspx">MSDN: Garbage Collection</a></p>
<h3>2. What is boxing / unboxing?</h3>
<p>Boxing occurs when a value type is passed to a method which expects an object or a value type is implicitly cast to an object.</p>
<pre><code>ArrayList x = new ArrayList();
x.Add(10); // Boxing</code>
<code>int x =  10;
Object y = x; // Boxing</code></pre>
<p><span style="font-family:Arial;">Unboxing is the reverse of this process, taking an object and casting it back to the value type.</span></p>
<p><code>int x = 10;</code></p>
<p>Object y = x; // Boxing</p>
<p>x = (int) y; // Unboxing</p>
<h4></h4>
<h4><code><span style="font-family:Arial;">Problem? </span></code></h4>
<p>Yes there is a performance cost when an item is boxed a new item must be created and allocated on the heap, 20x as long as a simple reference assignment. 4x penalty for unboxing.</p>
<p>Now with generics some use cases for boxing/unboxing go away. However in silverlight/WPF value convertors and dependency objects can cause lots of boxing to occur</p>
<h3>3. What is a struct, when should you use one?</h3>
<p>A struct is a value type and should be choosen instead of class if:</p>
<ul>
<li>It logically represents a single value</li>
<li>Has an instance size smaller than 16 bytes</li>
<li>It is <strong>immutable</strong></li>
<li>It will not be boxed frequently</li>
</ul>
<h3>4. What are weak references, why do you need them?</h3>
<p>Enables you to take out a reference to an object without stopping the garbage collector from reclaiming that object.</p>
<p>Useful if you have very large objects, which are easy to recreate.</p>
<h3>5. What is the dispose pattern?</h3>
<p>The dispose pattern is used only for objects that access unmanaged resources. The garbage collector is very efficient in reclaiming memory of managed objects but has no knowledge of memory used by unmanaged native objects.</p>
<h3>6. What is the difference between a Dictionary&lt;TKey, TValue&gt; and Hashtable?</h3>
<table width="400" border="0" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<th valign="top" width="200">Dictionary&lt;TKey, TValue&gt;</th>
<th valign="top" width="200">Hashtable</th>
</tr>
<tr>
<td valign="top" width="200">Minimizes boxing/unboxing</td>
<td valign="top" width="200">boxes value types: Add(object,object)</td>
</tr>
<tr>
<td valign="top" width="200">Needs synchronization</td>
<td valign="top" width="200">Provides some sychronization via Hashtable.Synchronized(Hashtable) method</td>
</tr>
<tr>
<td valign="top" width="200">Newer &gt;.net 2.0</td>
<td valign="top" width="200">Older Since 1.0</td>
</tr>
<tr>
<td valign="top" width="200">If key not found throws KeyNotFoundException</td>
<td valign="top" width="200">If key not found returns null</td>
</tr>
</tbody>
</table>
<p>Note that internally dictionary is implemented as a hashtable.</p>
<h3>7. What is the cost of looking up an item in a Hashtable?</h3>
<p>Retrieving the value of a dictionary or hashtable using it’s key is very fast close to O(1) in big-o notation. The speed of retrieval depends on the quality of the hashing algorithm of the type specified for TKey</p>
<h2>Multi-threading Questions</h2>
<h3></h3>
<h3>1. How would you engineer a deadlock</h3>
<ul>
<li>Create two methods each acquiring a separate lock, that call each other say 5 times</li>
<li>Start two threads on separate methods</li>
</ul>
<pre class="code"><span style="color:blue;">class </span><span style="color:#2b91af;">Program
</span>{
    <span style="color:blue;">private static int </span>operations = 5;

    <span style="color:blue;">public static object </span>lockA = <span style="color:blue;">new object</span>();
    <span style="color:blue;">public static object </span>lockB = <span style="color:blue;">new object</span>();

    <span style="color:blue;">static void </span>Main(<span style="color:blue;">string</span>[] args)
    {
        <span style="color:#2b91af;">Thread </span>thread1 = <span style="color:blue;">new </span><span style="color:#2b91af;">Thread</span>(DoSomethingA);
        <span style="color:#2b91af;">Thread </span>thread2 = <span style="color:blue;">new </span><span style="color:#2b91af;">Thread</span>(DoSomethingB);

        thread1.Start();
        thread2.Start();

        thread1.Join();
        thread2.Join();
        <span style="color:#2b91af;">Console</span>.WriteLine(operations);
        <span style="color:#2b91af;">Console</span>.ReadKey();
    }

    <span style="color:blue;">public static void </span>DoSomethingA()
    {
        <span style="color:blue;">lock </span>(lockA)
        {
            <span style="color:#2b91af;">Console</span>.WriteLine(<span style="color:#a31515;">"Lock DoSomething A " </span>+ <span style="color:#2b91af;">Thread</span>.CurrentThread.ManagedThreadId);
            <span style="color:blue;">if </span>(operations &gt; 0)
            {
                operations = operations - 1;
                <span style="color:#2b91af;">Thread</span>.Sleep(100);
                DoSomethingB();
            }
        }

        <span style="color:#2b91af;">Console</span>.WriteLine(<span style="color:#a31515;">"Release DoSomething A " </span>+ <span style="color:#2b91af;">Thread</span>.CurrentThread.ManagedThreadId);
    }

    <span style="color:blue;">public static void </span>DoSomethingB()
    {

        <span style="color:blue;">lock </span>(lockB)
        {
            <span style="color:#2b91af;">Console</span>.WriteLine(<span style="color:#a31515;">"Lock DoSomething B " </span>+ <span style="color:#2b91af;">Thread</span>.CurrentThread.ManagedThreadId);
            <span style="color:blue;">if </span>(operations &gt; 0)
            {
                operations = operations - 1;
                <span style="color:#2b91af;">Thread</span>.Sleep(100);
                DoSomethingA();                    
            }
        }

        <span style="color:#2b91af;">Console</span>.WriteLine(<span style="color:#a31515;">"Release DoSomething B " </span>+ <span style="color:#2b91af;">Thread</span>.CurrentThread.ManagedThreadId);
    }
}</pre>
<h3>2. What are race conditions, how to stop them</h3>
<p>Occur when more than one thread attempts to update shared data:</p>
<p>int x = 10;</p>
<p>…..</p>
<p>// Thread 1</p>
<p>x = x – 10;</p>
<p>// Thread 2</p>
<p>x = x + 1</p>
<p>To stop race conditions from happening you need to obtain exclusive locks, use semaphor, mutex, readwriterslim lock mechanism</p>
<h3>3. What are some lock-less techniques for avoiding race conditions?</h3>
<p>You can use volatile or Thread.MemoryBarrier() or the <strong>Interlocked </strong>class</p>
<h3>4. What is does the keyword Volatile mean or do?</h3>
<p>It ensures that the value of the field is always the most up-to-date value. Commonly used in multi-threaded applications that do not use locks to serialize access to shared data. When using a lock it causes the most up-to-date value to be retrieved.</p>
<p>Values can become stale when threads run on different processors asynchronously.</p>
<h3>5. What is differenct between ManualResetEvents and AutoResetEvents?</h3>
<p>When signaled via ‘Set’ threads waiting can all proceed until Reset() is called. With auto reset event only one waiting thread is unblocked when signalled ‘Set’ and the wait handle goes back to blocking other waiting threads until the next ‘Set’ message is sent.</p>
<h3></h3>
<h2>Reactive Extensions (RX)</h2>
<h3>1. What are the IObservable&lt;T&gt; and IObserver&lt;T&gt; interfaces</h3>
<p>IObservable&lt;T&gt; is a collection of things that can watched and defines a provider for push-based notification. And must implement a <strong>subscribe</strong> method.</p>
<p>IObserver&lt;T&gt; is essentially the listener to the collection and needs to implement OnNext, OnError, OnCompleted</p>
<h2>Collections</h2>
<h3>1. What is the difference between IEnumerable&lt;T&gt; and IEnumerator&lt;T&gt;</h3>
<p>IEnumerable&lt;T&gt; is a thing which can be enumerated over. Returns an IEnumerator</p>
<p>IEnumberator&lt;T&gt; is the thing that can do the enumeration, knows how to navigate the collection</p>
<h2>Software design</h2>
<h3>1. List some design patterns</h3>
<h4>Creational patterns</h4>
<h5>Abstract factory</h5>
<p>Provide an interface for creating families of related or dependent objects without specifying their concrete classes</p>
<p><a href="http://en.wikipedia.org/wiki/Abstract_factory_pattern">http://en.wikipedia.org/wiki/Abstract_factory_pattern</a></p>
<h5>Builder Pattern</h5>
<p>Defines abstract interfaces and concrete classes for building complex objects</p>
<p><a href="http://en.wikipedia.org/wiki/Builder_pattern">http://en.wikipedia.org/wiki/Builder_pattern</a></p>
<h5>Singleton Pattern</h5>
<p>Ensure a class only has one instance, and to provide a global point to access it.</p>
<h4>Structural Patterns</h4>
<h5>Façade Pattern</h5>
<p>A facade is an object that provides a simplified interface to a larger body of code</p>
<p>Pasted from &lt;<a href="http://en.wikipedia.org/wiki/Facade_pattern">http://en.wikipedia.org/wiki/Facade_pattern</a>&gt;</p>
<h5>Decorator</h5>
<p>Attach additional responsibilities to an object dynamically keeping the same interface. Decorators provide a flexible alternative to subclassing for extending functionality.</p>
<p>Pasted from &lt;<a href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)">http://en.wikipedia.org/wiki/Design_pattern_(computer_science)</a>&gt;</p>
<h3>2. What is SOLID?</h3>
<table class="wikitable" style="line-height:1.25;width:auto;table-layout:fixed;margin-left:auto;font-size:95%;margin-right:auto;">
<tbody>
<tr>
<th width="10">
<p align="left">Initial</p>
</th>
<th width="66">Stands for(acronym)</th>
<th width="396">Concept</th>
</tr>
<tr>
<th width="10">S</th>
<td width="66"><a title="Single responsibility principle" href="/wiki/Single_responsibility_principle">SRP</a></td>
<td width="396">
<dl>
<dt><a title="Single responsibility principle" href="/wiki/Single_responsibility_principle">Single responsibility principle</a></dt>
<dd>an <a title="Object (computer science)" href="/wiki/Object_(computer_science)">object</a> should have only a single responsibility.</dd>
</dl>
</td>
</tr>
<tr>
<th width="10">O</th>
<td width="66"><a title="Open/closed principle" href="/wiki/Open/closed_principle">OCP</a></td>
<td width="396">
<dl>
<dt><a title="Open/closed principle" href="/wiki/Open/closed_principle">Open/closed principle</a></dt>
<dd>“software entities … should be open for extension, but closed for modification”.</dd>
</dl>
</td>
</tr>
<tr>
<th width="10">L</th>
<td width="66"><a title="Liskov substitution principle" href="/wiki/Liskov_substitution_principle">LSP</a></td>
<td width="396">
<dl>
<dt><a title="Liskov substitution principle" href="/wiki/Liskov_substitution_principle">Liskov substitution principle</a></dt>
<dd>“objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program”. See also <a title="Design by contract" href="/wiki/Design_by_contract">design by contract</a>.</dd>
</dl>
</td>
</tr>
<tr>
<th width="10">I</th>
<td width="66"><a title="Interface segregation principle" href="/wiki/Interface_segregation_principle">ISP</a></td>
<td width="396">
<dl>
<dt><a title="Interface segregation principle" href="/wiki/Interface_segregation_principle">Interface segregation principle</a></dt>
<dd>“many client specific interfaces are better than one general purpose interface.”<sup class="reference" id="cite_ref-martin-design-principles_4-0"><a href="#cite_note-martin-design-principles-4">[5]</a></sup></dd>
</dl>
</td>
</tr>
<tr>
<th width="10">D</th>
<td width="66"><a title="Dependency inversion principle" href="/wiki/Dependency_inversion_principle">DIP</a></td>
<td width="396">
<dl>
<dt><a title="Dependency inversion principle" href="/wiki/Dependency_inversion_principle">Dependency inversion principle</a></dt>
<dd>one should “Depend upon Abstractions. Do not depend upon concretions.”<sup class="reference" id="cite_ref-martin-design-principles_4-1"><a href="#cite_note-martin-design-principles-4">[5]</a></sup><a title="Dependency injection" href="/wiki/Dependency_injection">Dependency injection</a> is one method of following this principle.</dd>
</dl>
</td>
</tr>
</tbody>
</table>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edwardwilde.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edwardwilde.wordpress.com/470/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=470&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.edwardwilde.com/2013/01/18/net-interview-questions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/196d33ea9cdaf7817b98b981afe62c16?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edward Wilde</media:title>
		</media:content>
	</item>
		<item>
		<title>Running nuget on mono</title>
		<link>http://blogs.edwardwilde.com/2012/05/06/running-nuget-on-mono/</link>
		<comments>http://blogs.edwardwilde.com/2012/05/06/running-nuget-on-mono/#comments</comments>
		<pubDate>Sun, 06 May 2012 10:23:09 +0000</pubDate>
		<dc:creator>Edward Wilde</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[nuget]]></category>

		<guid isPermaLink="false">https://edwardwilde.wordpress.com/?p=454</guid>
		<description><![CDATA[Well the documentation states that the nuget command-line tool does indeed work with mono Does NuGet support Mono? The command-line application (nuget.exe) builds and runs under Mono and allows you to create packages in Mono. So I merrily install nuget to my home directory ~/. Run the command mono ~/nuget and get the error message: [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=454&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Well the <a href="http://docs.nuget.org/docs/start-here/nuget-faq#Does_NuGet_support_Mono%3f">documentation</a> states that the nuget command-line tool does indeed work with mono</p>
<blockquote><h4>Does NuGet support Mono?</h4>
<p>The command-line application (<em>nuget.exe</em>) builds and runs under Mono and allows you to create packages in Mono.</p>
</blockquote>
<p>So I merrily install nuget to my home directory ~/. Run the command mono ~/nuget and get the error message:</p>
<h1>Problem</h1>
<p><strong>WARNING: The runtime version supported by this application is unavailable.      <br />Using default runtime: v2.0.50727</strong></p>
<p><a href="http://edwardwilde.files.wordpress.com/2012/05/screen-shot-2012-05-06-at-11-04-32.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="Screen Shot 2012-05-06 at 11.04.32" border="0" alt="Screen Shot 2012-05-06 at 11.04.32" src="http://edwardwilde.files.wordpress.com/2012/05/screen-shot-2012-05-06-at-11-04-32_thumb.png?w=699&#038;h=480" width="699" height="480" /></a></p>
<h1>Solution</h1>
<p>Turns out the simple solution is to specify the absolute .net version:<strong> </strong></p>
<blockquote><p><strong>mono &#8211;runtime=v4.0.30319 NuGet.exe </strong></p>
</blockquote>
<p><strong>&#160;</strong>and voila!</p>
<p><a href="http://edwardwilde.files.wordpress.com/2012/05/screen-shot-2012-05-06-at-11-11-57.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="Screen Shot 2012-05-06 at 11.11.57" border="0" alt="Screen Shot 2012-05-06 at 11.11.57" src="http://edwardwilde.files.wordpress.com/2012/05/screen-shot-2012-05-06-at-11-11-57_thumb.png?w=699&#038;h=480" width="699" height="480" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edwardwilde.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edwardwilde.wordpress.com/454/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=454&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.edwardwilde.com/2012/05/06/running-nuget-on-mono/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/196d33ea9cdaf7817b98b981afe62c16?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edward Wilde</media:title>
		</media:content>

		<media:content url="http://edwardwilde.files.wordpress.com/2012/05/screen-shot-2012-05-06-at-11-04-32_thumb.png" medium="image">
			<media:title type="html">Screen Shot 2012-05-06 at 11.04.32</media:title>
		</media:content>

		<media:content url="http://edwardwilde.files.wordpress.com/2012/05/screen-shot-2012-05-06-at-11-11-57_thumb.png" medium="image">
			<media:title type="html">Screen Shot 2012-05-06 at 11.11.57</media:title>
		</media:content>
	</item>
		<item>
		<title>Setting up a new project, from scratch on a blank machine as of 2012/02</title>
		<link>http://blogs.edwardwilde.com/2012/02/10/setting-up-a-new-project-from-scratch-on-a-blank-machine-as-of-201202/</link>
		<comments>http://blogs.edwardwilde.com/2012/02/10/setting-up-a-new-project-from-scratch-on-a-blank-machine-as-of-201202/#comments</comments>
		<pubDate>Fri, 10 Feb 2012 15:24:55 +0000</pubDate>
		<dc:creator>Edward Wilde</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://edwardwilde.wordpress.com/?p=439</guid>
		<description><![CDATA[Install loads of crap useful applications Chocolatey packages cinst 7zip cinst console2 cinst ilspy cinst kdiff3 cinst gitextensions cinst resharper cinst nuget.commandline cinst machine.specifications.tools Configure git http://stackoverflow.com/questions/2143956/gitignore-for-visual-studio-projects-and-solutions Install stuff not yet on Chocolatey Ghostdoc: currently not available on chocolatey! TODO Resharper file head http://blogs.jetbrains.com/dotnet/2011/07/file-header-macros-in-resharper-6/ Smart paster 2010: http://smartpaster2010.codeplex.com/ Remember to unblock SmartPaster2010.AddIn and SmartPaster2010.dll Edit [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=439&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<ul>
<li>Install loads of <span style="text-decoration:line-through;">crap</span> useful applications</li>
</ul>
<h2>Chocolatey packages</h2>
<p>cinst 7zip</p>
<p>cinst console2</p>
<p>cinst ilspy</p>
<p>cinst kdiff3</p>
<p>cinst gitextensions</p>
<p>cinst resharper</p>
<p>cinst nuget.commandline</p>
<p>cinst machine.specifications.tools</p>
<h2>Configure git</h2>
<p><a href="http://stackoverflow.com/questions/2143956/gitignore-for-visual-studio-projects-and-solutions">http://stackoverflow.com/questions/2143956/gitignore-for-visual-studio-projects-and-solutions</a></p>
<h2>Install stuff not yet on Chocolatey</h2>
<ul>
<li><a href="http://submain.com/download/ghostdoc/"><strong>Ghostdoc</strong></a>: currently not available on <a href="http://chocolatey.org/">chocolatey</a>! TODO</li>
<li><strong>Resharper file head<br />
</strong><a href="http://blogs.jetbrains.com/dotnet/2011/07/file-header-macros-in-resharper-6/">http://blogs.jetbrains.com/dotnet/2011/07/file-header-macros-in-resharper-6/</a></li>
<li><strong>Smart paster 2010</strong>: <a href="http://smartpaster2010.codeplex.com/">http://smartpaster2010.codeplex.com/</a> Remember to <strong>unblock</strong> SmartPaster2010.AddIn and SmartPaster2010.dll<br />
<a href="http://edwardwilde.files.wordpress.com/2012/02/image2.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" src="http://edwardwilde.files.wordpress.com/2012/02/image_thumb2.png?w=180&#038;h=244" alt="image" width="180" height="244" border="0" /></a></li>
<li>Edit just the solution layer in R#<a href="http://edwardwilde.files.wordpress.com/2012/02/image3.png"><img style="background-image:none;margin:0;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" src="http://edwardwilde.files.wordpress.com/2012/02/image_thumb3.png?w=244&#038;h=175" alt="image" width="244" height="175" border="0" /></a>
<p><a href="http://edwardwilde.files.wordpress.com/2012/02/image4.png"><img style="background-image:none;margin:0;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" src="http://edwardwilde.files.wordpress.com/2012/02/image_thumb4.png?w=244&#038;h=184" alt="image" width="244" height="184" border="0" /></a></li>
<li><a href="http://therightstuff.de/CommentView,guid,35785cdb-ff2c-4f67-9d4b-bc9e419e0477.aspx">http://therightstuff.de/CommentView,guid,35785cdb-ff2c-4f67-9d4b-bc9e419e0477.aspx</a></li>
</ul>
<p><a href="http://edwardwilde.files.wordpress.com/2012/02/image5.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" src="http://edwardwilde.files.wordpress.com/2012/02/image_thumb5.png?w=244&#038;h=197" alt="image" width="244" height="197" border="0" /></a></p>
<p><a href="http://edwardwilde.files.wordpress.com/2012/02/image6.png"><img style="background-image:none;margin:0;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" src="http://edwardwilde.files.wordpress.com/2012/02/image_thumb6.png?w=244&#038;h=197" alt="image" width="244" height="197" border="0" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edwardwilde.wordpress.com/439/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edwardwilde.wordpress.com/439/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=439&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.edwardwilde.com/2012/02/10/setting-up-a-new-project-from-scratch-on-a-blank-machine-as-of-201202/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/196d33ea9cdaf7817b98b981afe62c16?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edward Wilde</media:title>
		</media:content>

		<media:content url="http://edwardwilde.files.wordpress.com/2012/02/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://edwardwilde.files.wordpress.com/2012/02/image_thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://edwardwilde.files.wordpress.com/2012/02/image_thumb4.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://edwardwilde.files.wordpress.com/2012/02/image_thumb5.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://edwardwilde.files.wordpress.com/2012/02/image_thumb6.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Orchard CMS blogging with an iPhone</title>
		<link>http://blogs.edwardwilde.com/2012/02/07/orchard-cms-blogging-with-an-iphone/</link>
		<comments>http://blogs.edwardwilde.com/2012/02/07/orchard-cms-blogging-with-an-iphone/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 08:19:12 +0000</pubDate>
		<dc:creator>Edward Wilde</dc:creator>
				<category><![CDATA[orchard]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[metaweblogapi]]></category>

		<guid isPermaLink="false">https://edwardwilde.wordpress.com/?p=426</guid>
		<description><![CDATA[I’ve recently been evaluating the Orchard CMS project for an upcoming website I’m building for my award winning London diving club . I thought it would be really useful to be able to blog to the website straight after a days diving whilst the excitement and pictures were still fresh off the press. &#160; Step [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=426&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I’ve recently been evaluating the <a href="http://orchardproject.net">Orchard CMS project</a> for an upcoming website I’m building for my award winning <a href="http://clidive.org/">London diving club</a> <img style="border-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://edwardwilde.files.wordpress.com/2012/02/wlemoticon-smile.png?w=580" /> . I thought it would be really useful to be able to blog to the website straight after a days diving whilst the excitement and pictures were still fresh off the press.</p>
<p>&#160;</p>
<h2>Step 1: Create your Orchard blog if it doesn’t exist already</h2>
<p>&#160;</p>
<h2>Step 2: Turn on remote blog publishing</h2>
<p><a href="http://edwardwilde.files.wordpress.com/2012/02/image.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0;" title="image" border="0" alt="image" src="http://edwardwilde.files.wordpress.com/2012/02/image_thumb.png?w=244&#038;h=236" width="244" height="236" /></a></p>
<p>&#160;</p>
<h2>Step 3: Retrieve your blog id</h2>
<p>Ochard’s remote blogging interface implements the <a href="http://xmlrpc.scripting.com/metaWeblogApi.html">MetaWeblog API</a>. Whilst some clients such as windows live writer support self discovery using the <a href="http://cyber.law.harvard.edu/blogs/gems/tech/rsd.html">real simple discovery mechanism</a>. Your blog id is required by some iphone clients</p>
<p>&#160;</p>
<p>Simple navigate to the following url: <a href="http://[path_to_your_blog]/rsd">http://[path_to_your_blog]/rsd</a> for my local development orchard install that was: <a href="http://localhost:30320/OrchardLocal/blog/rsd">http://localhost:30320/OrchardLocal/blog/rsd</a></p>
<p><a href="http://edwardwilde.files.wordpress.com/2012/02/image1.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0;" title="image" border="0" alt="image" src="http://edwardwilde.files.wordpress.com/2012/02/image_thumb1.png?w=244&#038;h=235" width="244" height="235" /></a></p>
<p>Take a note of the blog id which in this case was 24</p>
<p>&#160;</p>
<h2>Step 4: Configure your iphone app</h2>
<p>I was very surprised to find out how few generic iPhone blogging clients there are.&#160; Whilst investigating this task I paid for and tried two apps:</p>
<ol>
<li><a href="http://blogpressapp.com">BlogPress</a> – (very buggy, does not seem to work with Ochard) </li>
<li><a href="http://bloggerplus.xmpp.kr/">BloggerPlus</a> – Does work! </li>
</ol>
<h2>Step 5: Configuring blogger plus to work with orchard</h2>
<p><a href="http://edwardwilde.files.wordpress.com/2012/02/photo.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="photo" border="0" alt="photo" src="http://edwardwilde.files.wordpress.com/2012/02/photo_thumb.png?w=164&#038;h=244" width="164" height="244" /></a></p>
<ul>
<li>Enter your blogID from step 3</li>
<li>Note the XMLRPC is <a href="http://[ochardhost]/XmlRpc">http://[ochardhost]/XmlRpc</a></li>
<li>RSS is the same as XMLRPC</li>
</ul>
<h2>Step 6: Patching Orchard is required if v.1.3.10 or &lt;</h2>
<p>As of today 07/02/2012 my patch has not made it to the main Orchard code base, so if you are running Orchard v.1.3.10 or &lt; you need to download this change set <a href="http://orchard.codeplex.com/SourceControl/network/Forks/ewilde/18414/changeset/changes/1bda35a0f8f8">http://orchard.codeplex.com/SourceControl/network/Forks/ewilde/18414/changeset/changes/1bda35a0f8f8</a> and rebuild orchard</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edwardwilde.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edwardwilde.wordpress.com/426/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=426&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.edwardwilde.com/2012/02/07/orchard-cms-blogging-with-an-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/196d33ea9cdaf7817b98b981afe62c16?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edward Wilde</media:title>
		</media:content>

		<media:content url="http://edwardwilde.files.wordpress.com/2012/02/wlemoticon-smile.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>

		<media:content url="http://edwardwilde.files.wordpress.com/2012/02/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://edwardwilde.files.wordpress.com/2012/02/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://edwardwilde.files.wordpress.com/2012/02/photo_thumb.png" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>
	</item>
		<item>
		<title>What is the current state of REST frameworks in .Net 4.0</title>
		<link>http://blogs.edwardwilde.com/2011/07/22/what-is-the-current-state-of-rest-frameworks-in-net-4-0/</link>
		<comments>http://blogs.edwardwilde.com/2011/07/22/what-is-the-current-state-of-rest-frameworks-in-net-4-0/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 14:33:23 +0000</pubDate>
		<dc:creator>Edward Wilde</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[wcf]]></category>

		<guid isPermaLink="false">http://blogs.edwardwilde.com/?p=391</guid>
		<description><![CDATA[WCF WebHttp Services in .NET 4 Part of the official .Net 4.0 framework release. WCF WebHttp Services is the flavor of WCF that is most appropriate for developers who need complete control over the URI, format, and protocol when building non-SOAP HTTP services— services that may or may not subscribe to RESTful architectural constraints. Documentation [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=391&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h2>WCF WebHttp Services in .NET 4</h2>
<p>Part of the official .Net 4.0 framework release.</p>
<blockquote><p>WCF WebHttp Services is the flavor of WCF that is most appropriate for developers who need complete control over the URI, format, and protocol when building non-SOAP HTTP services— services that may or may not subscribe to RESTful architectural constraints.</p></blockquote>
<h3>Documentation</h3>
<p><a title="WCF WebHttp Service documentation" href="http://msdn.microsoft.com/en-us/library/bb412169.aspx">http://msdn.microsoft.com/en-us/library/bb412169.aspx</a></p>
<h3>Example</h3>
<p>Introducing WCF WebHttp Services in .NET 4:<a title=" http://blogs.msdn.com/b/endpoint/archive/2010/01/06/introducing-wcf-webhttp-services-in-net-4.aspx" href="http://blogs.msdn.com/b/endpoint/archive/2010/01/06/introducing-wcf-webhttp-services-in-net-4.aspx"> http://blogs.msdn.com/b/endpoint/archive/2010/01/06/introducing-wcf-webhttp-services-in-net-4.aspx</a></p>
<h2>WCF WebApi</h2>
<blockquote><p>This project focuses on allowing developers to expose their apis for programmatic access over HTTP by browsers and devices.</p></blockquote>
<p>Essentially this is a continuation of work done on the WCF Rest starter kit, and could be considered as a preview of wcf http services for .net 5.0?</p>
<h2>WCF REST Starter Kit (depreciated)</h2>
<blockquote><p>The new WCF Web Api&#8217;s recently announced at PDC replace the REST Starter Kit and provide significant enhancements including better access to HTTP, more flexibility with representations and support for jQuery. Please go to <a href="http://wcf.codeplex.com/" rel="nofollow">http://wcf.codeplex.com/</a> for more information.</p>
<p>Source:<a title="http://aspnet.codeplex.com/wikipage?title=WCF%20REST&amp;ProjectName=aspne" href="http://aspnet.codeplex.com/wikipage?title=WCF%20REST&amp;ProjectName=aspne"> http://aspnet.codeplex.com/wikipage?title=WCF%20REST&amp;ProjectName=aspne</a>t</p></blockquote>
<h2>Open Rasta</h2>
<blockquote><p>OpenRasta is a development framework targeting the Microsoft .NET platform for building web-based applications and services, and distributed under an Open-Source MIT License.</p>
<p>By focusing development around resources and HTTP methods, OpenRasta simplifies the creation of ReST-friendly interfaces.</p></blockquote>
<h3>Example</h3>
<p>How to create a rest service using Open Rasta: <a title="http://blogs.7digital.com/dev/2011/02/02/rest-in-practice-and-openrasta/" href="http://blogs.7digital.com/dev/2011/02/02/rest-in-practice-and-openrasta/">http://blogs.7digital.com/dev/2011/02/02/rest-in-practice-and-openrasta/</a></p>
<h2>RestSharp</h2>
<p><a title="http://restsharp.org/" href="http://restsharp.org/">http://restsharp.org/</a> A client only api for consuming rest services</p>
<blockquote><p>RestSharp is a simple, open source REST client for .NET designed primarily for consuming third-party HTTP APIs. <em>RestSharp is NOT</em>:</p>
<ul>
<li>A REST server framework</li>
<li>A SOAP client</li>
</ul>
</blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edwardwilde.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edwardwilde.wordpress.com/391/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=391&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.edwardwilde.com/2011/07/22/what-is-the-current-state-of-rest-frameworks-in-net-4-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/196d33ea9cdaf7817b98b981afe62c16?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edward Wilde</media:title>
		</media:content>
	</item>
		<item>
		<title>SQL Server Express 2008 R2 &#8211; Installing on Windows 7 with Visual Studio 2010</title>
		<link>http://blogs.edwardwilde.com/2010/06/04/sql-server-express-2008-r2-installing-on-windows-7-with-visual-studio-2010/</link>
		<comments>http://blogs.edwardwilde.com/2010/06/04/sql-server-express-2008-r2-installing-on-windows-7-with-visual-studio-2010/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 10:07:52 +0000</pubDate>
		<dc:creator>Edward Wilde</dc:creator>
				<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://blogs.edwardwilde.com/?p=384</guid>
		<description><![CDATA[Today I was trying to install the latest management tools for SQL Server using SQL Server Express 2008 R2 on a Windows 7 machine with Visual Studio 2010 running the setup up file I got the follow error message: Solution: surprisingly easy just press Continue!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=384&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Today I was trying to install the latest management tools for SQL Server using <a href="http://www.microsoft.com/express/Database/InstallOptions.aspx">SQL Server Express 2008 R2</a> on a Windows 7 machine with Visual Studio 2010 running the setup up file I got the follow error message:</p>
<pre class="brush: plain; title: ; notranslate">
System.Configuration.ConfigurationErrorsException: An error occurred creating the configuration section handler for userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings: Could not load file or assembly 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.
</pre>
<p><strong>Solution:</strong> surprisingly easy just press <strong>Continue</strong>!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edwardwilde.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edwardwilde.wordpress.com/384/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=384&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.edwardwilde.com/2010/06/04/sql-server-express-2008-r2-installing-on-windows-7-with-visual-studio-2010/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/196d33ea9cdaf7817b98b981afe62c16?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edward Wilde</media:title>
		</media:content>
	</item>
		<item>
		<title>How to add custom validators to the SharePoint ListFieldIterator</title>
		<link>http://blogs.edwardwilde.com/2010/04/28/how-to-add-custom-validators-to-the-sharepoint-listfielditerator/</link>
		<comments>http://blogs.edwardwilde.com/2010/04/28/how-to-add-custom-validators-to-the-sharepoint-listfielditerator/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 15:29:09 +0000</pubDate>
		<dc:creator>Edward Wilde</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[sharepoint]]></category>
		<category><![CDATA[BaseValidator]]></category>
		<category><![CDATA[sharepoint ListFieldIterator]]></category>

		<guid isPermaLink="false">https://edwardwilde.wordpress.com/?p=376</guid>
		<description><![CDATA[Requirements Today I had the requirement to add custom validation logic to a SharePoint edit form. The edit form is being displayed using a ListFieldIterator. The requirement was to make sure the Date field could not be set to a date in the past. The solution (Other solutions are available and are most probably better!) [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=376&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h1>Requirements</h1>
<p>Today I had the requirement to add custom validation logic to a SharePoint edit form. The edit form is being displayed using a ListFieldIterator. The requirement was to make sure the Date field could not be set to a date in the past.</p>
<p>The solution (Other solutions are available and are most probably better!) I came up with involved subclassing ListFieldIterator and attaching ASP.NET validators at run-time.</p>
<h1>Challenge 1</h1>
<p>How do you attach a ASP.NET validation control at run-time.</p>
<ul>
<li>Attach the validator at the correct stage of the page/control life-cycle.  In the case of the ListFieldIterator I wanted to attach it after the control had build it&#8217;s control tree. Override <strong>CreateChildControls</strong>, call base, then attach.</li>
</ul>
<ul>
<li>Find the <strong>FormField </strong>associated with the SharePoint field (SPField) you want to validate.I have an extension method that I use to parse the control hierarchy of a ListFieldIterator as follows:</li>
</ul>
<p>
<b>Usage:</b></p>
<pre class="brush: csharp; title: ; notranslate">
FormField formField = listFieldIterator.GetFormField(&quot;MyInternalFieldName&quot;);
</pre>
</p>
<pre class="brush: csharp; title: ; notranslate">
public static class ListFieldIteratorExtensions
{
    public static FormField GetFormField(this ListFieldIterator listFieldIterator, string fieldName)
    {
        return GetFormField(listFieldIterator, GetFormFields(listFieldIterator), fieldName);
    }


    public static FormField GetFormField(this ListFieldIterator listFieldIterator, List&lt;FormField&gt; formFields, string fieldName)
    {
        FormField formField = (from form in formFields
                               where form.FieldName.Equals(fieldName, StringComparison.InvariantCultureIgnoreCase)
                               select form).FirstOrDefault();

        if (formField == null)
        {
            throw new GeneralApplicationException(&quot;Could not find form field: &quot; + fieldName);
        }

        return formField;
    }

    public static List&lt;FormField&gt; GetFormFields(this ListFieldIterator listFieldIterator)
    {
        if (listFieldIterator == null)
        {
            return null;
        }

        return FindFieldFormControls(listFieldIterator);
    }        

    private static List&lt;FormField&gt; FindFieldFormControls(System.Web.UI.Control root)
    {
        List&lt;FormField&gt; baseFieldControls = new List&lt;FormField&gt;();

        foreach (System.Web.UI.Control control in root.Controls)
        {
            if (control is FormField &amp;&amp; control.Visible)
            {
                FormField formField = control as FormField;
                if (formField.Field.FieldValueType == typeof(DateTime))
                {
                    HandleDateField(formField);
                }

                baseFieldControls.Add(formField);
            }
            else
            {
                baseFieldControls.AddRange(FindFieldFormControls(control));
            }
        }

        return baseFieldControls;
    }

    private static void HandleDateField(FormField formField)
    {
        if (formField.ControlMode == SPControlMode.Display)
        {
            return;
        }

        Control dateFieldControl = formField.Controls[0];
        if (dateFieldControl.Controls.Count &gt; 0)
        {
            DateTimeControl dateTimeControl = (DateTimeControl) dateFieldControl.Controls[0].Controls[1];
            TextBox dateTimeTextBox = dateTimeControl.Controls[0] as TextBox;
            if (dateTimeTextBox != null)
            {
                if (!string.IsNullOrEmpty(dateTimeTextBox.Text))
                {
                    formField.Value = DateTime.Parse(dateTimeTextBox.Text, CultureInfo.CurrentCulture);
                }
            } 
        }
    }
}
</pre>
<ul>
<li>
	Find the <b>Control that is rendered by the FieldControl.Field.FieldRenderingControl</b>. In my specific case a DateTimeField will render a DateTimeControl. Now that we have the form field we grab the rendering control:
</li>
</ul>
<p>
<b>Usage:</b></p>
<pre class="brush: csharp; title: ; notranslate">
Control renderedControl = GetControl(formField);
</pre>
</p>
<p><pre class="brush: csharp; title: ; notranslate">
private static Control GetControl(FieldMetadata formField)
{
    return formField.FindControlRecursive(x =&gt; x.GetType() == GetChildControlBasedOnFieldType(formField.Field.FieldRenderingControl));
}

private static Type GetChildControlBasedOnFieldType(object field)
{
    if (field is TextField)
    {
        return typeof(TextBox);
    }

    if (field is DropDownChoiceField)
    {
        return typeof(DropDownList);
    }

    if (field is DateTimeField)
    {
        return typeof (DateTimeControl);
    }

    return null;
}

public static Control FindControlRecursive(this Control control, Func&lt;Control, bool&gt; evaluate)
{
    if (evaluate.Invoke(control))
    {
        return control;
    }

    foreach (Control childControl in control.Controls)
    {
        Control foundControl = FindControlRecursive(childControl, evaluate);
        if (foundControl != null)
        {
            return foundControl;
        }
    }

    return null;
} 
</pre>
</p>
<ul>
<li>Now we have found the control we want to validate, we can add the ASP.NET to it&#8217;s parent&#8217;s control collection</li>
</ul>
<p><pre class="brush: csharp; title: ; notranslate">
renderedControl.Parent.Controls.AddAfter(control, validator as Control);
</pre>
<p>
Uses another little extension method:
</p>
<p><pre class="brush: csharp; title: ; notranslate">
public static void AddAfter(this ControlCollection collection, Control after, Control control)
{
    int indexFound = -1;
    int currentIndex = 0;
    foreach (Control controlToEvaluate in collection)
    {
        if (controlToEvaluate == after)
        {
            indexFound = currentIndex;
            break;
        }

        currentIndex = currentIndex + 1;
    }

    if (indexFound == -1)
    {
        throw new ArgumentOutOfRangeException(&quot;control&quot;, &quot;Control not found&quot;);
    }

    collection.AddAt(indexFound + 1, control);
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edwardwilde.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edwardwilde.wordpress.com/376/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=376&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.edwardwilde.com/2010/04/28/how-to-add-custom-validators-to-the-sharepoint-listfielditerator/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/196d33ea9cdaf7817b98b981afe62c16?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edward Wilde</media:title>
		</media:content>
	</item>
		<item>
		<title>How do you update the &#8216;Author&#8217; or &#8216;Created by&#8217; and &#8216;Editor&#8217; or &#8216;Modified By / Last Modified&#8217; fields of a list item (SPListItem)</title>
		<link>http://blogs.edwardwilde.com/2010/04/21/how-do-you-update-the-author-or-created-by-and-editor-or-modified-by-last-modified-fields-of-a-list-item-splistitem/</link>
		<comments>http://blogs.edwardwilde.com/2010/04/21/how-do-you-update-the-author-or-created-by-and-editor-or-modified-by-last-modified-fields-of-a-list-item-splistitem/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 13:49:26 +0000</pubDate>
		<dc:creator>Edward Wilde</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[sharepoint]]></category>
		<category><![CDATA[SPListItem]]></category>
		<category><![CDATA[SPListItem.UpdateOverwriteVersion()]]></category>

		<guid isPermaLink="false">http://edwardwilde.wordpress.com/?p=373</guid>
		<description><![CDATA[Sometimes it&#8217;s useful to overwrite the created by and last modified by fields and get rid of that pesky &#8216;System Account&#8217; ! Created By The internal field name for the person who created a list item is ‘Author’ use SPBuiltInFieldId.Author to access this field. The display name for this field is ‘Created By’ it can [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=373&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Sometimes it&#8217;s useful to overwrite the created by and last modified by fields and get rid of that pesky &#8216;System Account&#8217; !</p>
<h3>Created By</h3>
<p>The internal field name for the person who created a list item is ‘<strong>Author</strong>’ use SPBuiltInFieldId.Author to access this field. The display name for this field is ‘<strong>Created By</strong>’ it can be seen in the UI circled below:</p>
<p><a href="http://edwardwilde.files.wordpress.com/2010/04/splistitemcreatedbyauthor.png"><img style="display:inline;border:0;" title="SPListItem CreatedBy Author" src="http://edwardwilde.files.wordpress.com/2010/04/splistitemcreatedbyauthor_thumb.png?w=481&#038;h=295" border="0" alt="SPListItem CreatedBy Author" width="481" height="295" /></a></p>
<h3>Last modified</h3>
<p>The internal field name for the person who created a list item is ‘<strong>Editor</strong>’ use SPBuiltInFieldId.Editor to access this field. The display name for this field is ‘<strong>Modified By</strong>’ it can be seen in the UI circled below:</p>
<p><a href="http://edwardwilde.files.wordpress.com/2010/04/splistitemmodifiedbyeditor.png"><img style="display:inline;border:0;" title="SPListItem ModifiedBy Editor" src="http://edwardwilde.files.wordpress.com/2010/04/splistitemmodifiedbyeditor_thumb.png?w=481&#038;h=301" border="0" alt="SPListItem ModifiedBy Editor" width="481" height="301" /></a></p>
<h3>Updating Created By, Modified By</h3>
<p>The trick here is to call <strong>SPListItem.UpdateOverwriteVersion()</strong> instead of SPListItem.Update()</p>
<pre class="brush: csharp; title: ; notranslate">
SPListItem item = list.Items[0];
item[SPBuiltInFieldId.Author] = &quot;1;#Edward Wilde&quot;;
item[SPBuiltInFieldId.Editor] = &quot;1;#Edward Wilde&quot;;
copiedItem.UpdateOverwriteVersion();
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edwardwilde.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edwardwilde.wordpress.com/373/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=373&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.edwardwilde.com/2010/04/21/how-do-you-update-the-author-or-created-by-and-editor-or-modified-by-last-modified-fields-of-a-list-item-splistitem/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/196d33ea9cdaf7817b98b981afe62c16?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edward Wilde</media:title>
		</media:content>

		<media:content url="http://edwardwilde.files.wordpress.com/2010/04/splistitemcreatedbyauthor_thumb.png" medium="image">
			<media:title type="html">SPListItem CreatedBy Author</media:title>
		</media:content>

		<media:content url="http://edwardwilde.files.wordpress.com/2010/04/splistitemmodifiedbyeditor_thumb.png" medium="image">
			<media:title type="html">SPListItem ModifiedBy Editor</media:title>
		</media:content>
	</item>
		<item>
		<title>Typemock: System.NotSupportedException: Cannot dynamically create an instance of System.Void.</title>
		<link>http://blogs.edwardwilde.com/2010/04/19/typemock-system-notsupportedexception-cannot-dynamically-create-an-instance-of-system-void/</link>
		<comments>http://blogs.edwardwilde.com/2010/04/19/typemock-system-notsupportedexception-cannot-dynamically-create-an-instance-of-system-void/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 12:21:36 +0000</pubDate>
		<dc:creator>Edward Wilde</dc:creator>
				<category><![CDATA[unit testing]]></category>
		<category><![CDATA[typemock]]></category>

		<guid isPermaLink="false">http://edwardwilde.wordpress.com/?p=362</guid>
		<description><![CDATA[Had a problem mocking a call to SPWorkflowActivationProperties.Item today. Turns out to be a bug in the TypeMock library. Problematic unit test When executed it throws the following exception: Fix: I can work around this issue by replacing the line: With: See thread on Typemock forum<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=362&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Had a problem mocking a call to SPWorkflowActivationProperties.Item today. Turns out to be a bug in the TypeMock library.</p>
<p><b>Problematic unit test</b></p>
<pre class="brush: csharp; title: ; notranslate">
[Test, Isolated]
        public void PublishToExternalDocumentLibrary_Calls_CopyTo_Correctly()
        {
            ApprovalWorkflow approvalWorkflow = Isolate.Fake.Instance&lt;ApprovalWorkflow&gt;(Members.CallOriginal, ConstructorWillBe.Called);
            SPWorkflowActivationProperties activationProperties = Isolate.Fake.Instance&lt;SPWorkflowActivationProperties&gt;(Members.CallOriginal, ConstructorWillBe.Called);
            SPListItem item = Isolate.Fake.Instance&lt;SPListItem&gt;();

            Isolate.WhenCalled(() =&gt; approvalWorkflow.PublishWhenComplete).WillReturn(true);
            Isolate.WhenCalled(() =&gt; approvalWorkflow.PublishDocumentLibraryUrl).WillReturn(ExternalDocumentLibraryUrl);
            Isolate.WhenCalled(() =&gt; approvalWorkflow.WorkflowActivationProperties).WillReturn(activationProperties);
            Isolate.WhenCalled(() =&gt; activationProperties.Item).WillReturn(item);
           
            Isolate.WhenCalled(() =&gt; item.Name).WillReturn(&quot;test.docx&quot;);
           
            // Fire the workflow completed event
            Isolate.Invoke.Event(() =&gt; approvalWorkflow.Completed += null, new object[] { this, EventArgs.Empty });

            Isolate.Verify.WasCalledWithExactArguments(() =&gt; item.CopyTo(&quot;http://xdev03.trading.ad.int.corp.local/Policies/test.docx&quot;));
        } 
</pre>
</p>
<p>When executed it throws the following exception: </p>
<pre class="brush: csharp; title: ; notranslate">
System.NotSupportedException: Cannot dynamically create an instance of System.Void.
at System.RuntimeType.CreateInstanceCheckThis()
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at hi.b(MethodBase A_0)
at hi.a(MethodBase A_0, fk A_1)
at a.a(fk A_0)
at a.c(fk A_0)
at fz.a(fk A_0)
at fz.a(Object A_0, MethodBase A_1, Object[] A_2)
at fz.a(Object A_0, String A_1, String A_2, MethodBase A_3, Object[] A_4, Object A_5)
at Microsoft.SharePoint.Security.SharePointPermissionAttribute.CreatePermission()
at System.Security.PermissionSet.CreateSerialized(Object[] attrs, Boolean serialize, Byte[]&amp; nonCasBlob, PermissionSet&amp; casPset, HostProtectionResource fullTrustOnlyResources)
at Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties.get_Item()
at Total.SharePoint.Approval.Workflow.Test.ApprovalWorkflowFixture.&lt;&gt;c__DisplayClassd.&lt;PublishToExternalDocumentLibrary_Calls_CopyTo_Correctly&gt;b__9() in ApprovalWorkflowFixture.cs: line 44
at TypeMock.MockManager.a(String A_0, String A_1, Object A_2, Object A_3, Boolean A_4, Object[] A_5)
at TypeMock.InternalMockManager.getReturn(Object that, String typeName, String methodName, Object methodParameters, Boolean isInjected)
at Total.SharePoint.Approval.Workflow.Test.ApprovalWorkflowFixture.PublishToExternalDocumentLibrary_Calls_CopyTo_Correctly() in ApprovalWorkflowFixture.cs: line 0 
</pre>
</p>
<p>
<b>Fix:</b><br />
I can work around this issue by replacing the line:</p>
<pre class="brush: csharp; title: ; notranslate">
Isolate.WhenCalled(() =&gt; activationProperties.Item).WillReturn(item);
</pre>
</p>
<p>
With:</p>
<pre class="brush: csharp; title: ; notranslate">
Isolate.NonPublic.WhenCalled(activationProperties, &quot;get_Item&quot;).WillReturn(item); 
</pre>
</p>
<p><a href="http://www.typemock.com/community/viewtopic.php?t=1760&amp;highlight=">See thread on Typemock forum</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edwardwilde.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edwardwilde.wordpress.com/362/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.edwardwilde.com&#038;blog=9417511&#038;post=362&#038;subd=edwardwilde&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.edwardwilde.com/2010/04/19/typemock-system-notsupportedexception-cannot-dynamically-create-an-instance-of-system-void/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/196d33ea9cdaf7817b98b981afe62c16?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edward Wilde</media:title>
		</media:content>
	</item>
	</channel>
</rss>
