<?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/"
	>

<channel>
	<title>Ivan Zlatev &#187; Coding</title>
	<atom:link href="http://ivanz.com/category/coding/feed/" rel="self" type="application/rss+xml" />
	<link>http://ivanz.com</link>
	<description></description>
	<lastBuildDate>Sat, 05 Jun 2010 16:19:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>IBM</title>
		<link>http://ivanz.com/2010/03/02/ibm/</link>
		<comments>http://ivanz.com/2010/03/02/ibm/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 23:05:26 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Diary]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://ivanz.com/?p=713</guid>
		<description><![CDATA[I started at IBM UK (Hursley Labs) on Monday but it is only today that I got my permanent badge with all the security clearance added for the ultra confidential work I will be doing. One of the goodies when working in the restricted area is that only the chosen ones get access to the [...]]]></description>
			<content:encoded><![CDATA[<p>I started at IBM UK (Hursley Labs) on Monday but it is only today that I got my permanent badge with all the security clearance added for the ultra confidential work I will be doing. <img src='http://ivanz.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  One of the goodies when working in the restricted area is that only the chosen ones get access to the proper coffee machine which makes excellent espresso coffee only 10p each.</p>
<div id="attachment_712" class="wp-caption aligncenter" style="width: 317px"><a href="http://ivanz.com/wp-content/uploads/2010/03/IMG_1933.jpg" rel="shadowbox[post-713];player=img;"><img class="size-medium wp-image-712" title="IBM" src="http://ivanz.com/wp-content/uploads/2010/03/IMG_1933-225x300.jpg" alt="IBM" width="307" height="410" /></a><p class="wp-caption-text">IBM</p></div>
]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2010/03/02/ibm/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Three new featurelets for Fluent NHibernate</title>
		<link>http://ivanz.com/2009/12/13/three-new-featurelets-for-fluent-nhibernate/</link>
		<comments>http://ivanz.com/2009/12/13/three-new-featurelets-for-fluent-nhibernate/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 17:58:21 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Fluent NHibernate]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[ORM]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://ivanz.com/?p=702</guid>
		<description><![CDATA[Lately I have been using Fluent NHibernate and NHibernate respectively for my ORM (Object-Relational Mapping) when working on my top secret pet project. Simply put &#8211; it&#8217;s great. Mapping is done using a fluent C# interface which makes use of lambda expressions for referencing properties instead of strings (check my previous post for more info) [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I have been using <a href="http://fluentnhibernate.org/">Fluent NHibernate</a> and <a href="http://nhforge.org">NHibernate</a> respectively for my ORM (Object-Relational Mapping) when working on my top secret pet project. Simply put &#8211; it&#8217;s great. Mapping is done using a fluent C# interface which makes use of lambda expressions for referencing properties instead of strings (check my <a href="http://ivanz.com/2009/12/04/how-to-avoid-passing-property-names-as-strings-using-c-3-0-expression-trees/">previous post</a> for more info) so the domain model is <strong>safe to refactor</strong> because the mapping will be kept up-to-date too.</p>
<p>I spend some time hacking on Fluent NHibernate to add three little features I needed for my integration unit testing via Fluent NHibernate&#8217;s <em>PersistenceSpecification</em>. They all currently live in my GitHub(also used by Fluent NHibernate) fork <a href="http://github.com/ivanz/fluent-nhibernate">here</a> and have all been submitted upstream. <strong>UPDATE:</strong> The changes are as of now (21.12.2009) officially part of Fluent NHibernate. I can only hope you will find them useful as well.</p>
<h3>PersistenceSpecification: More Informational Error Reporting</h3>
<p>Particularly useful to troubleshoot failing mapping integration unit tests when a property check fails it will print both expected and actual types of the values. Also notice that chained properties (object.PropA.PropB) are now supported as well:</p>
<p style="padding-left: 30px;"><em>For property &#8216;Nutrition.Calories&#8217; expected &#8217;400&#8242; of type &#8216;System.Int32&#8242; but got &#8217;400&#8242; of type &#8216;System.Single&#8217;.</em></p>
<p>instead of:</p>
<p style="padding-left: 30px;"><em>Expected &#8217;400&#8242; but got &#8217;400&#8242; for Property &#8216;NutritionCalories&#8217;</em></p>
<h3>PersistenceSpecification: Entity Components Property Testing</h3>
<p>It is now possible to test entity component properties. For example given this domain model:</p>
<pre class="brush: csharp;">
public class Food
{
    public Food ()
    {
        Nutrition = new NutritionInfo ();
    }

    public virtual NutritionInfo Nutrition { get; protected set }
    public virtual int Id { get; set; }

}

public class NutritionInfo
{
    public virtual float? Fat { get; set; }
}
</pre>
<p>and this mapping:</p>
<pre class="brush: csharp;">
public class FoodMap : ClassMap&lt;Food&gt;
{
    public FoodMap ()
    {
        Id (food =&gt; food.Id)
            .GeneratedBy.Native ();

        Component&lt;NutritionInfo&gt; (food =&gt; food.Nutrition,
            mapping =&gt; {
                mapping.Map (nutrition =&gt; nutrition.Fat)
                    .Nullable ();
            }
        ).Access.BackingField ();
    }
}
</pre>
<p>One can now use this in unit tests:</p>
<pre class="brush: csharp;">
[TestMethod]
public void Food_Mapping ()
{
    new PersistenceSpecification&lt;Food&gt; (Session)
    .CheckProperty (food =&gt; food.Id, 1)
    .CheckProperty (food =&gt; food.Nutrition.Fat, 40f) // &lt;-- This one
    .VerifyTheMappings ();

}
</pre>
<p>Prior to my patch this wasn&#8217;t possible because Fluent Nhibernate <em>PersistenceSpecification</em> did not support chained properties and was trying to set a <em>Fat</em> property on the <em>food</em> object. Note that this is useful only for components and <span style="text-decoration: underline;">not</span> references. For the latter <em>.CheckReference (&#8230;) </em>should be used which will also commit the reference to the Database before doing anything else.</p>
<h3>PersistenceSpecification: IEqualityComparer for Individual Properties</h3>
<p>Given the setup from above it is now possible to set an IEqualityComparer per property, e.g.:</p>
<pre class="brush: csharp;">
[TestMethod]
public void Serving_Mapping ()
{

    new PersistenceSpecification&lt;Food&gt; (Session, new EqualityComparerForAllProperties ())
    .CheckProperty (food =&gt; food.Id, 1)
    .CheckProperty (food =&gt; food.Nutrition.Fat, 40f, FloatEqualityComparer.Instance)
    .VerifyTheMappings ();
}
</pre>
<p>If there is no comparer set for the property it will fall back to using the <em>EqualityComparerForAllProperties</em> and if that is not specified it will just use Object.Equals.</p>
]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2009/12/13/three-new-featurelets-for-fluent-nhibernate/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to avoid passing property names as strings using C# 3.0 Expression Trees</title>
		<link>http://ivanz.com/2009/12/04/how-to-avoid-passing-property-names-as-strings-using-c-3-0-expression-trees/</link>
		<comments>http://ivanz.com/2009/12/04/how-to-avoid-passing-property-names-as-strings-using-c-3-0-expression-trees/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 19:08:20 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[NHibernate]]></category>

		<guid isPermaLink="false">http://ivanz.com/?p=699</guid>
		<description><![CDATA[Referencing property names via strings is evil. Consider this simplistic example: private int _myProperty; public int MyProperty { get { return _myProperty; } set { _myProperty = value; NotifyPropertyChanged (this, &#34;MyProperty&#34;) } } // Somewhere in a different project or file... private void NotifyPropertyChanged (object sender, string propertyName) { if (propertyName == &#34;MyProperty&#34;) Console.WriteLine (&#34;Property [...]]]></description>
			<content:encoded><![CDATA[<p>Referencing property names via strings is evil. Consider this simplistic example:</p>
<pre class="brush: csharp;">
private int _myProperty;

public int MyProperty
{
    get { return _myProperty; }
    set {
        _myProperty = value;
        NotifyPropertyChanged (this, &quot;MyProperty&quot;)
    }
}

// Somewhere in a different project or file...
private void NotifyPropertyChanged (object sender, string propertyName)
{
    if (propertyName == &quot;MyProperty&quot;)
        Console.WriteLine (&quot;Property Changed&quot;);
}
</pre>
<p>If at some point the property gets renamed the code will compile fine but a bug will be introduced as all those strings that contain the property name will remain unchanged. Evil.</p>
<p>So I have been toying with NHibernate lately and yesterday I was writing some repositories. Let&#8217;s assume that theoretically they look like this:</p>
<pre class="brush: csharp;">
public class Repository &lt;TEntity&gt;
{
    public virtual TEntity FindById (object id)
    {
        ...
    }
}

public class UserRepository : Repository&lt;User&gt;
{
    public IList&lt;User&gt; FindByName (string name)
    {
        // query code
    }

    public IList&lt;User&gt; FindByEmail (string email)
    {
        // query code
    }
}
</pre>
<p>Both <em>FindByName </em>and <em>FindByEmail </em>in <em>UserRepository </em>will in theory contain the same queries but with different parameters. However I don&#8217;t really want to have to write individual queries so I considered a utility method:</p>
<pre class="brush: csharp;">
public class Repository &lt;TEntity&gt;
{
    public virtual TEntity FindById (object id)
    {
        ...
    }

    protected virtual IList&lt;TEntity&gt; FindByProperty (string propertyName, object value)
    {
        string columnName = NHibernateUtil.GetPropertyColumnName&lt;TEntity&gt; (propertyName);

        // Query here, e.g: &quot;SELECT .... WHERE .... columnName = value&quot; , etc.
    }
}

public class UserRepository : Repository&lt;User&gt;
{
    public IList&lt;User&gt; FindByName (string name)
    {
        return base.FindByProperty (&quot;Name&quot;, name);
    }

    public IList&lt;User&gt; FindByEmail (string email)
    {
        return base.FindByProperty (&quot;Email&quot;, email);
    }
}
</pre>
<p>Again this is very bad code and I hated the idea of it, so I sat down and started thinking. I remembered reading somewhere about C# 3.0 Expression Trees so I did some research. When using the special <em>Expression </em>type this seems to tell the compiler to create and expose an AST to us of e.g. a lambda function&#8217;s body, so if we pass a property reference expression we can parse the AST and extract the property name from there.</p>
<p>The theory in practice:</p>
<pre class="brush: csharp;">
public class UserRepository : Repository&lt;User&gt;
{
    public IList&lt;User&gt; FindByName (string name)
    {
        return base.FindByProperty (user =&gt; user.Name, name);
    }

    public IList&lt;User&gt; FindByEmail (string email)
    {
        return base.FindByProperty (user =&gt; user.Email, email);
    }
}

public class Repository &lt;TEntity&gt;
{
    public virtual TEntity FindById (object id)
    {
        ...
    }

    protected virtual IList&lt;TEntity&gt; FindByProperty (Expression&lt;Func&lt;TEntity, object&gt;&gt; propertyRefExpr,
                                                     object value)
    {
        string propertyName = GetPropertyName (propertyRefExpr);

        // Query code
    }

    private string GetPropertyName (Expression propertyRefExpr)
    {
        if (propertyRefExpr == null)
            throw new ArgumentNullException (&quot;propertyRefExpr&quot;, &quot;propertyRefExpr is null.&quot;);

        MemberExpression memberExpr = propertyRefExpr.Body as MemberExpression;
        if (memberExpr == null) {
            UnaryExpression unaryExpr = propertyRefExpr.Body as UnaryExpression;
            if (unaryExpr != null &amp;&amp; unaryExpr.NodeType == ExpressionType.Convert)
                memberExpr = unaryExpr.Operand as MemberExpression;
        }

        if (memberExpr != null &amp;&amp; memberExpr.Member.MemberType == MemberTypes.Property)
            return memberExpr.Member.Name;

        throw new ArgumentException (&quot;No property reference expression was found.&quot;,
                         &quot;propertyRefExpr&quot;);
    }
}
</pre>
<p>Also as a helper class:</p>
<pre class="brush: csharp;">
public static class PropertyUtil
{
    public static string GetPropertyName&lt;TObject&gt; (this TObject type,
                                                   Expression&lt;Func&lt;TObject, object&gt;&gt; propertyRefExpr)
    {
        return GetPropertyNameCore (propertyRefExpr.Body);
    }

    public static string GetName&lt;TObject&gt; (Expression&lt;Func&lt;TObject, object&gt;&gt; propertyRefExpr)
    {
        return GetPropertyNameCore (propertyRefExpr.Body);
    }

    private static string GetPropertyNameCore (Expression propertyRefExpr)
    {
        if (propertyRefExpr == null)
            throw new ArgumentNullException (&quot;propertyRefExpr&quot;, &quot;propertyRefExpr is null.&quot;);

        MemberExpression memberExpr = propertyRefExpr as MemberExpression;
        if (memberExpr == null) {
            UnaryExpression unaryExpr = propertyRefExpr as UnaryExpression;
            if (unaryExpr != null &amp;&amp; unaryExpr.NodeType == ExpressionType.Convert)
                memberExpr = unaryExpr.Operand as MemberExpression;
        }

        if (memberExpr != null &amp;&amp; memberExpr.Member.MemberType == MemberTypes.Property)
            return memberExpr.Member.Name;

        throw new ArgumentException (&quot;No property reference expression was found.&quot;,
                         &quot;propertyRefExpr&quot;);
    }
}
</pre>
<p>As you can see it contains two generic methods that operate either on types:</p>
<pre class="brush: csharp;">
string propertyName = PropertyUtil.GetName&lt;User&gt; (u =&gt; u.Email);
</pre>
<p>or instances:</p>
<pre class="brush: csharp;">
User user = GetUser();
string propertyName = user.GetPropertyName (u =&gt; u.Email);
</pre>
<p>Great, isn&#8217;t it? And safe to refactor.</p>
<p>Of course there is no such thing as a free lunch and the use of expression trees comes at the expense of some performance.</p>
<p>BTW is the font size of the code snippets sufficiently readable or is it too tiny?</p>
<p><strong>UPDATE:</strong> Added support for Convert expressions (implicit/explicit casting)</p>
]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2009/12/04/how-to-avoid-passing-property-names-as-strings-using-c-3-0-expression-trees/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>HowTo Disable the Unsigned Security Warnings on Windows Mobile</title>
		<link>http://ivanz.com/2009/08/15/howto-disable-the-unsigned-security-warnings-on-windows-mobile/</link>
		<comments>http://ivanz.com/2009/08/15/howto-disable-the-unsigned-security-warnings-on-windows-mobile/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 20:54:05 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[.NET CF]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://i-nz.net/?p=674</guid>
		<description><![CDATA[The security warnings when deploying unsigned applications from Visual Studio to a real Windows Mobile device can get very annoying. Thankfully they can be disabled with a hack and here is how. Using the Remote Registry Editor supplied with Visual Studio and with the Windows Mobile SDK installed change the following key value from 0 [...]]]></description>
			<content:encoded><![CDATA[<p>The security warnings when deploying unsigned applications from Visual Studio to a real Windows Mobile device can get very annoying. Thankfully they can be disabled with a hack and here is how.</p>
<p>Using the Remote Registry Editor supplied with Visual Studio and with the Windows Mobile SDK installed change the following key value from 0 to 1 (and vise-versa to reset the change)</p>
<pre><code>HKEY_LOCAL_MACHINE\Security\Policies\Policies\0000101a = 1</code></pre>
<p>That&#8217;s it.</p>
]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2009/08/15/howto-disable-the-unsigned-security-warnings-on-windows-mobile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Gmail Gadget</title>
		<link>http://ivanz.com/2009/07/18/twitter-gmail-gadget/</link>
		<comments>http://ivanz.com/2009/07/18/twitter-gmail-gadget/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 19:14:09 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://i-nz.net/?p=667</guid>
		<description><![CDATA[Just stumbled upon this awesome Twitter Gadget for Gmail. It not only adds a status update widget on the side but also a full interface to twitter as part of Gmail. Really cool and the interface is much nicer than the Twitter web page IMHO. Screenshot below. The Gadget can be found at http://twittergadget.appspot.com To [...]]]></description>
			<content:encoded><![CDATA[<p>Just stumbled upon this awesome Twitter Gadget for Gmail. It not only adds a status update widget on the side but also a full interface to twitter as part of Gmail. Really cool and the interface is much nicer than the Twitter web page IMHO. Screenshot below. The Gadget can be found at <a href="http://twittergadget.appspot.com">http://twittergadget.appspot.com</a></p>
<p>To install:</p>
<p>1.   In Settings &#8211;&gt; Labs enable &#8220;<span><em>Add any gadget by URL</em>&#8221; from the list.</span></p>
<p><span>2.   In Settings &#8211;&gt; Gadgets &#8211;&gt; Add </span><em>https://twittergadget.appspot.com/gadget-gmail.xml</em><span> . </span></p>
<p><span>You could also enable &#8220;</span><span><em>Navbar drag and drop</em>&#8221; so you can move the gadget up and down if you want.<br />
</span></p>
<div id="attachment_668" class="wp-caption aligncenter" style="width: 310px"><a href="http://ivanz.com/wp-content/uploads/2009/07/gmail-twitter.png" rel="shadowbox[post-667];player=img;"><img class="size-medium wp-image-668" title="Twitter Gmail Widget" src="http://ivanz.com/wp-content/uploads/2009/07/gmail-twitter-300x221.png" alt="Twitter Gmail Widget" width="300" height="221" /></a><p class="wp-caption-text">Twitter Gmail Widget</p></div>
]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2009/07/18/twitter-gmail-gadget/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>msysGit Tip: Files Constantly Reported as Modified Fix</title>
		<link>http://ivanz.com/2009/07/18/msysgit-tip-files-constantly-reported-as-modified-fix/</link>
		<comments>http://ivanz.com/2009/07/18/msysgit-tip-files-constantly-reported-as-modified-fix/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 01:43:10 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[MSysGit]]></category>

		<guid isPermaLink="false">http://i-nz.net/?p=665</guid>
		<description><![CDATA[I copied my Mono mcs Git working copy from Linux to Windows for use with MSysGit only to find out that even after git reset &#8211;hard almost all files were being reported as modified by git status. It turns out it has to do with the file permissions (executable bit I think) and the inability [...]]]></description>
			<content:encoded><![CDATA[<p>I copied my Mono mcs Git working copy from Linux to Windows for use with MSysGit only to find out that even after <em>git reset &#8211;hard</em> almost all files were being reported as modified by <em>git status</em>. It turns out it has to do with the file permissions (executable bit I think) and the inability of msysgit to apply them on Windows.</p>
<pre>$ git diff class/Accessibility/makefile.build
diff --git a/class/Accessibility/makefile.build b/class/Accessibility/makefile
old mode 100755
new mode 100644</pre>
<p>The fix is to make git ignore some file mode stuff via:</p>
<pre>git config core.fileMode false</pre>
<p>Another useful setting on Windows is:</p>
<pre>git config core.autocrlf true</pre>
]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2009/07/18/msysgit-tip-files-constantly-reported-as-modified-fix/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Multiple Network Connections at the Same Time on Windows</title>
		<link>http://ivanz.com/2009/07/08/multiple-network-connections-at-the-same-time-on-windows/</link>
		<comments>http://ivanz.com/2009/07/08/multiple-network-connections-at-the-same-time-on-windows/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 02:32:00 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://i-nz.net/?p=598</guid>
		<description><![CDATA[In my scenario I have one Wireless connection for my Internet and one LAN connection to a small private network of my own with my NAS, PS3 and TV and I want to have them both at the same time. It was a major pain to get this setup working on Windows. When I had [...]]]></description>
			<content:encoded><![CDATA[<p>In my scenario I have one Wireless connection for my Internet and one LAN connection to a small private network of my own with my NAS, PS3 and TV and I want to have them both at the same time. It was a major pain to get this setup working on Windows. When I had both connections enabled my Internet wasn&#8217;t working because Windows was routing through the LAN connection even though the Wireless connection had a higher priority set in <em>Network Connections</em> &#8211;&gt; <em>Advanced</em> menu &#8211;&gt; <em>Advanced settings.</em></p>
<p>The solution is to go into the <em>Properties </em>of each connection (right click on it) &#8211;&gt; select <em>Internet Protocol (TCP/IP) </em>&#8211;&gt; click <em>Properties </em>-&gt; click <em>Advanced </em>&#8211;&gt; uncheck <em>Automatic metric </em>in the bottom and set a number between 1 and 9999 where the smaller the number the higher the connection priority. I have set my Wireless Internet connection to 1 and my LAN connection to 9999 and that works.</p>
<p>I hope this post will save someone else&#8217;s precious time in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2009/07/08/multiple-network-connections-at-the-same-time-on-windows/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2008 jQuery IntelliSense Fix</title>
		<link>http://ivanz.com/2009/07/01/visual-studio-2008-jquery-intellisense-fix/</link>
		<comments>http://ivanz.com/2009/07/01/visual-studio-2008-jquery-intellisense-fix/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 21:25:16 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://i-nz.net/?p=592</guid>
		<description><![CDATA[I am tinkering with ASP.NET MVC and jQuery and making my first baby steps in a whole new horrible world of web development. I found out that the JavaScript IntelliSense in Visual Studio 2008 is broken out of the box. The error is: Warning    2    Error updating JScript IntelliSense: jquery-1.3.2.js: Object doesn't support this property [...]]]></description>
			<content:encoded><![CDATA[<p>I am tinkering with ASP.NET MVC and jQuery and making my first baby steps in a whole new horrible world of web development. I found out that the JavaScript IntelliSense in Visual Studio 2008 is broken out of the box. The error is:</p>
<pre>Warning    2    Error updating JScript IntelliSense: jquery-1.3.2.js:
   Object doesn't support this property or method @ 2173:1</pre>
<p>The fix for Visual Studio 2008 SP1 by Microsoft can be found here:</p>
<p><a href="http://code.msdn.microsoft.com/KB958502">KB958502 &#8211; JScript Editor support for “-vsdoc.js” IntelliSense doc. files</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2009/07/01/visual-studio-2008-jquery-intellisense-fix/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mono Victory Roar</title>
		<link>http://ivanz.com/2009/06/16/mono-victory-roar/</link>
		<comments>http://ivanz.com/2009/06/16/mono-victory-roar/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 21:44:36 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Diary]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Photos]]></category>

		<guid isPermaLink="false">http://i-nz.net/?p=576</guid>
		<description><![CDATA[Could also be interpreted as &#8220;Shit, the water is freezing.&#8221; Some more photos from Cromer, UK:]]></description>
			<content:encoded><![CDATA[<div id="attachment_581" class="wp-caption aligncenter" style="width: 310px"><a href="http://ivanz.com/wp-content/uploads/2009/06/IMG_0400.JPG" rel="shadowbox[post-576];player=img;"><img class="size-medium wp-image-581" title="Mono Victory Roar" src="http://ivanz.com/wp-content/uploads/2009/06/IMG_0400-300x225.jpg" alt="Mono Victory Roar" width="300" height="225" /></a><p class="wp-caption-text">Mono Victory Roar</p></div>
<p>Could also be interpreted as &#8220;<em>Shit, the water is freezing.</em>&#8221;</p>
<p>Some more photos from <a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=cromer&amp;sll=53.762977,-0.353193&amp;sspn=0.009767,0.027895&amp;ie=UTF8&amp;ll=52.200874,0.32959&amp;spn=2.592531,7.141113&amp;z=8" target="_blank">Cromer, UK</a>:</p>

<a href='http://ivanz.com/wp-content/uploads/2009/06/IMG_0445.JPG' rel='shadowbox[album-576];player=img;' title='IMG_0445'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/06/IMG_0445-150x150.jpg" class="attachment-thumbnail" alt="IMG_0445" title="IMG_0445" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/06/IMG_0446.JPG' rel='shadowbox[album-576];player=img;' title='IMG_0446'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/06/IMG_0446-150x150.jpg" class="attachment-thumbnail" alt="IMG_0446" title="IMG_0446" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/06/IMG_0411.JPG' rel='shadowbox[album-576];player=img;' title='IMG_0411'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/06/IMG_0411-150x150.jpg" class="attachment-thumbnail" alt="IMG_0411" title="IMG_0411" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/06/IMG_0409.JPG' rel='shadowbox[album-576];player=img;' title='IMG_0409'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/06/IMG_0409-150x150.jpg" class="attachment-thumbnail" alt="IMG_0409" title="IMG_0409" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/06/IMG_0379.JPG' rel='shadowbox[album-576];player=img;' title='IMG_0379'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/06/IMG_0379-150x150.jpg" class="attachment-thumbnail" alt="IMG_0379" title="IMG_0379" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/06/IMG_0450.JPG' rel='shadowbox[album-576];player=img;' title='IMG_0450'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/06/IMG_0450-150x150.jpg" class="attachment-thumbnail" alt="IMG_0450" title="IMG_0450" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/06/IMG_0366.JPG' rel='shadowbox[album-576];player=img;' title='IMG_0366'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/06/IMG_0366-150x150.jpg" class="attachment-thumbnail" alt="IMG_0366" title="IMG_0366" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/06/IMG_0363.JPG' rel='shadowbox[album-576];player=img;' title='IMG_0363'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/06/IMG_0363-150x150.jpg" class="attachment-thumbnail" alt="IMG_0363" title="IMG_0363" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/06/IMG_0400.JPG' rel='shadowbox[album-576];player=img;' title='Mono Victory Roar'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/06/IMG_0400-150x150.jpg" class="attachment-thumbnail" alt="Mono Victory Roar" title="Mono Victory Roar" /></a>

]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2009/06/16/mono-victory-roar/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PicasaUploader 0.3: Batch Image Scaling/Resizing</title>
		<link>http://ivanz.com/2009/06/01/picasauploader-03-batch-image-scalingresizing/</link>
		<comments>http://ivanz.com/2009/06/01/picasauploader-03-batch-image-scalingresizing/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 19:53:57 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Diary]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PicasaWeb]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://i-nz.net/?p=571</guid>
		<description><![CDATA[I have just released version 0.3 of my PicasaWeb Uploader tool. The new things are: High quality batch image resizing/scaling on the fly prior to upload. Memory usage performance improvements. Get it from (and also for more information): http://i-nz.net/projects/picasauploader]]></description>
			<content:encoded><![CDATA[<p>I have just released version 0.3 of my PicasaWeb Uploader tool. The new things are:</p>
<ul>
<li>High quality batch image resizing/scaling on the fly prior to upload.</li>
<li>Memory usage performance improvements.</li>
</ul>
<p>Get it from (and also for more information): <a href="http://ivanz.com/projects/picasauploader/">http://i-</a><a href="http://ivanz.com/projects/picasauploader/">nz.net/projects/picasauploader</a></p>
<p><a href="http://ivanz.com/projects/picasauploader/"></p>
<div id="attachment_570" class="wp-caption aligncenter" style="width: 533px"></a><a href="http://ivanz.com/wp-content/uploads/2009/06/resize-photos.png" rel="shadowbox[post-571];player=img;"><img class="size-full wp-image-570" title="Photo Resize" src="http://ivanz.com/wp-content/uploads/2009/06/resize-photos.png" alt="Photo Resize" width="523" height="412" /></a><p class="wp-caption-text">Photo Resize</p></div>
]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2009/06/01/picasauploader-03-batch-image-scalingresizing/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
