<?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</title>
	<atom:link href="http://ivanz.com/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>PicasaUploader 0.5: Upload videos</title>
		<link>http://ivanz.com/2010/06/05/picasauploader-0-5-upload-videos/</link>
		<comments>http://ivanz.com/2010/06/05/picasauploader-0-5-upload-videos/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 16:19:20 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PicasaWeb]]></category>

		<guid isPermaLink="false">http://ivanz.com/?p=720</guid>
		<description><![CDATA[I have released version 0.5 of PicasaUploader - the simple PicasaWeb uploader tool. Changes: Add support for uploading videos. Supported files are: .avi, .mpeg, .mpg, .wmv, .3gp, .asf, .mp4, .mov. However PicasaWeb can still reject any of those if it doesn&#8217;t like it. Note also that videos won&#8217;t be playable in the album immediately because [...]]]></description>
			<content:encoded><![CDATA[<p>I have released version 0.5 of <a href="http://ivanz.com/projects/picasauploader/">PicasaUploader </a>- the simple PicasaWeb uploader tool. Changes:</p>
<ul>
<li>Add support for uploading videos.
<ul>
<li>Supported files are: .avi, .mpeg, .mpg, .wmv, .3gp, .asf, .mp4, .mov. However PicasaWeb can still reject any of those if it doesn&#8217;t like it. Note also that videos won&#8217;t be playable in the album immediately because they have to be postprocessed by PicasaWeb.</li>
</ul>
</li>
<li>File size limits: 20MB for photo files and 100MB for video files.</li>
</ul>
<p>Get it <a href="http://ivanz.com/projects/picasauploader/">here</a>.</p>
<div id="attachment_719" class="wp-caption aligncenter" style="width: 310px"><a href="http://ivanz.com/wp-content/uploads/2009/04/video-upload1.png" rel="shadowbox[post-720];player=img;"><img class="size-medium wp-image-719" title="Video Upload" src="http://ivanz.com/wp-content/uploads/2009/04/video-upload1-300x221.png" alt="Video Upload" width="300" height="221" /></a><p class="wp-caption-text">Video Upload</p></div>
]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2010/06/05/picasauploader-0-5-upload-videos/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google Maps Street View now available in 3D (Stereoscopic)</title>
		<link>http://ivanz.com/2010/04/06/google-maps-street-view-now-available-in-3d-stereoscopic/</link>
		<comments>http://ivanz.com/2010/04/06/google-maps-street-view-now-available-in-3d-stereoscopic/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 16:38:04 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://ivanz.com/?p=714</guid>
		<description><![CDATA[Just noticed that I can toggle a stereoscopic view in Google Maps Street View. Funky. However I truly dislike stereoscopic &#8220;3D&#8221;, so I doubt I will ever be using this feature.]]></description>
			<content:encoded><![CDATA[<p><img src="file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/moz-screenshot.png" alt="" />Just noticed that I can toggle a stereoscopic view in Google Maps Street View. Funky. However I truly dislike stereoscopic &#8220;3D&#8221;, so I doubt I will ever be using this feature.</p>
<p><a href="http://ivanz.com/wp-content/uploads/2010/04/gmaps-3D.png" rel="shadowbox[post-714];player=img;"><img class="aligncenter size-medium wp-image-715" title="gmaps-3D" src="http://ivanz.com/wp-content/uploads/2010/04/gmaps-3D-300x226.png" alt="" width="300" height="226" /></a></p>
<p><a href="http://ivanz.com/wp-content/uploads/2010/04/gmaps-3D.png" rel="shadowbox[post-714];player=img;"></a><a href="http://ivanz.com/wp-content/uploads/2010/04/gmaps-3D-2.png" rel="shadowbox[post-714];player=img;"><img class="aligncenter size-medium wp-image-716" title="gmaps-3D-2" src="http://ivanz.com/wp-content/uploads/2010/04/gmaps-3D-2-300x184.png" alt="" width="300" height="184" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2010/04/06/google-maps-street-view-now-available-in-3d-stereoscopic/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<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>Domino&#8217;s Pizza Tracker</title>
		<link>http://ivanz.com/2010/02/25/dominos-pizza-tracker/</link>
		<comments>http://ivanz.com/2010/02/25/dominos-pizza-tracker/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 11:45:44 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://ivanz.com/?p=710</guid>
		<description><![CDATA[Yesterday evening I noticed that one can now track the progress of his Domino&#8217;s Pizza order live:]]></description>
			<content:encoded><![CDATA[<p>Yesterday evening I noticed that one can now track the progress of his Domino&#8217;s Pizza order live:</p>
<div id="attachment_711" class="wp-caption aligncenter" style="width: 346px"><a href="http://ivanz.com/wp-content/uploads/2010/02/dominos-pizza-tracker.jpg" rel="shadowbox[post-710];player=img;"><img class="size-medium wp-image-711" title="Domino's Pizza Tracker" src="http://ivanz.com/wp-content/uploads/2010/02/dominos-pizza-tracker-300x213.jpg" alt="" width="336" height="239" /></a><p class="wp-caption-text">Domino&#39;s Pizza Tracker</p></div>
]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2010/02/25/dominos-pizza-tracker/feed/</wfw:commentRss>
		<slash:comments>1</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>Swine Flu (H1N1) as seen under microscope</title>
		<link>http://ivanz.com/2009/11/10/swine-flu-h1n1-as-seen-under-microscope/</link>
		<comments>http://ivanz.com/2009/11/10/swine-flu-h1n1-as-seen-under-microscope/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 17:33:11 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[Funny]]></category>

		<guid isPermaLink="false">http://ivanz.com/?p=695</guid>
		<description><![CDATA[Note 1: You should be able to spot a particular kind of animal on the above image. Note 2: I apologize if my humor hurts your feelings.]]></description>
			<content:encoded><![CDATA[<div id="attachment_696" class="wp-caption aligncenter" style="width: 210px"><a href="http://ivanz.com/wp-content/uploads/2009/11/Swine-Flu.gif" rel="shadowbox[post-695];player=img;"><img class="size-full wp-image-696" title="Swine Flu" src="http://ivanz.com/wp-content/uploads/2009/11/Swine-Flu.gif" alt="Swine Flu" width="200" height="203" /></a><p class="wp-caption-text">Swine Flu as seen under microscope</p></div>
<p>Note 1: You should be able to spot a particular kind of animal on the above image.</p>
<p>Note 2: I apologize if my humor hurts your feelings.</p>
]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2009/11/10/swine-flu-h1n1-as-seen-under-microscope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Индонезия Ден 0: Истанбул Летище</title>
		<link>http://ivanz.com/2009/10/08/%d0%b8%d0%bd%d0%b4%d0%be%d0%bd%d0%b5%d0%b7%d0%b8%d1%8f-%d0%b4%d0%b5%d0%bd-0-%d0%b8%d1%81%d1%82%d0%b0%d0%bd%d0%b1%d1%83%d0%bb-%d0%bb%d0%b5%d1%82%d0%b8%d1%89%d0%b5/</link>
		<comments>http://ivanz.com/2009/10/08/%d0%b8%d0%bd%d0%b4%d0%be%d0%bd%d0%b5%d0%b7%d0%b8%d1%8f-%d0%b4%d0%b5%d0%bd-0-%d0%b8%d1%81%d1%82%d0%b0%d0%bd%d0%b1%d1%83%d0%bb-%d0%bb%d0%b5%d1%82%d0%b8%d1%89%d0%b5/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 18:02:49 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Diary]]></category>

		<guid isPermaLink="false">http://ivanz.com/?p=681</guid>
		<description><![CDATA[В момента седя в един много приатен бар-ресторант на летището в Истанбул, което се казва Greenport. Преди час кацнах и доста обиколях терминала в търсене на контакт за лаптопшс, но тц &#8211; няма. За щастие скитайки нагоре надолу в този лабиринт забелязах една бойна група от 20-тина човека насядали с лаптопи и след кратък шпионски [...]]]></description>
			<content:encoded><![CDATA[<p>В момента седя в един много приатен бар-ресторант на летището в Истанбул, което се казва Greenport. Преди час кацнах и доста обиколях терминала в търсене на контакт за лаптопшс, но тц &#8211; няма. За щастие скитайки нагоре надолу в този лабиринт забелязах една бойна група от 20-тина човека насядали с лаптопи и след кратък шпионски анализ открих контактите скрити в храстите&#8230; Не се бъзикам просто има декоративни храсти и контатките са прикрити там (защото са доста а така не се набиват на очи). И така сега си седя и хрупам една здравословна салата, охлаждам се с Diet Coke (Cola Light) с много лед (нямат ли климатици тия на това летище!?) и се подкрепям  с едно не особено добро еспресо за 6 часа висенете до следващия полет до Jakarta, Indonesia. Самият полет ще е бая здрав &#8211; 13 часа и 10 000км.</p>
<p>Второто съществено нещо за това заведение е че има една лепенка скрита по средата на менюто с информацията за безплатно WiFi. Паролата обаче не работеше и питах един човечец до мен дали при него работи. Горкияt от 3часа e седял и циклел без да знае за инфото и направо се изчерви от яд. Life sucks какт знаем. В крайна сметка взех новата парола от един барман и ето качих малко снимки от летището.</p>
<p>Станал съм в 4 сутринта. Сега е 9 вечерта. Следвачият полет в в 11:30 и каца 6 часа следобед на следващие ден. Голям път, голямо нещо.</p>

<a href='http://ivanz.com/wp-content/uploads/2009/10/IMG_1072.jpg' rel='shadowbox[album-681];player=img;' title='IMG_1072'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/10/IMG_1072-150x150.jpg" class="attachment-thumbnail" alt="Аз в свещенното заведение" title="IMG_1072" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/10/IMG_1071.jpg' rel='shadowbox[album-681];player=img;' title='IMG_1071'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/10/IMG_1071-150x150.jpg" class="attachment-thumbnail" alt="IMG_1071" title="IMG_1071" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/10/IMG_1070.jpg' rel='shadowbox[album-681];player=img;' title='IMG_1070'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/10/IMG_1070-150x150.jpg" class="attachment-thumbnail" alt="Аз" title="IMG_1070" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/10/IMG_1069.jpg' rel='shadowbox[album-681];player=img;' title='IMG_1069'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/10/IMG_1069-150x150.jpg" class="attachment-thumbnail" alt="Червени телефонни кабинки? - Това да не е Англия?!" title="IMG_1069" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/10/IMG_1065.jpg' rel='shadowbox[album-681];player=img;' title='IMG_1065'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/10/IMG_1065-150x150.jpg" class="attachment-thumbnail" alt="Яко локуми!" title="IMG_1065" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/10/IMG_1066.jpg' rel='shadowbox[album-681];player=img;' title='IMG_1066'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/10/IMG_1066-150x150.jpg" class="attachment-thumbnail" alt="Много яко локуми!" title="IMG_1066" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/10/IMG_1068.jpg' rel='shadowbox[album-681];player=img;' title='IMG_1068'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/10/IMG_1068-150x150.jpg" class="attachment-thumbnail" alt="Разни работи" title="IMG_1068" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/10/IMG_1067.jpg' rel='shadowbox[album-681];player=img;' title='IMG_1067'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/10/IMG_1067-150x150.jpg" class="attachment-thumbnail" alt="IMG_1067" title="IMG_1067" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/10/IMG_1064.jpg' rel='shadowbox[album-681];player=img;' title='IMG_1064'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/10/IMG_1064-150x150.jpg" class="attachment-thumbnail" alt="IMG_1064" title="IMG_1064" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/10/IMG_1063.jpg' rel='shadowbox[album-681];player=img;' title='IMG_1063'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/10/IMG_1063-150x150.jpg" class="attachment-thumbnail" alt="IMG_1063" title="IMG_1063" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/10/IMG_1062.jpg' rel='shadowbox[album-681];player=img;' title='IMG_1062'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/10/IMG_1062-150x150.jpg" class="attachment-thumbnail" alt="IMG_1062" title="IMG_1062" /></a>
<a href='http://ivanz.com/wp-content/uploads/2009/10/IMG_1061.jpg' rel='shadowbox[album-681];player=img;' title='IMG_1061'><img width="150" height="150" src="http://ivanz.com/wp-content/uploads/2009/10/IMG_1061-150x150.jpg" class="attachment-thumbnail" alt="IMG_1061" title="IMG_1061" /></a>

]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2009/10/08/%d0%b8%d0%bd%d0%b4%d0%be%d0%bd%d0%b5%d0%b7%d0%b8%d1%8f-%d0%b4%d0%b5%d0%bd-0-%d0%b8%d1%81%d1%82%d0%b0%d0%bd%d0%b1%d1%83%d0%bb-%d0%bb%d0%b5%d1%82%d0%b8%d1%89%d0%b5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fullmoon Trance on Full Moon</title>
		<link>http://ivanz.com/2009/09/04/fullmoon-trance-on-full-moon/</link>
		<comments>http://ivanz.com/2009/09/04/fullmoon-trance-on-full-moon/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 21:44:58 +0000</pubDate>
		<dc:creator>Ivan Zlatev</dc:creator>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[Trance]]></category>

		<guid isPermaLink="false">http://i-nz.net/?p=678</guid>
		<description><![CDATA[Was listening to a couple of Fullmoon Trance from my collection when I noticed it&#8217;s full moon &#8211; a pretty one.]]></description>
			<content:encoded><![CDATA[<p>Was listening to a couple of Fullmoon Trance from my collection when I noticed it&#8217;s full moon &#8211; a pretty one.</p>
<div id="attachment_679" class="wp-caption aligncenter" style="width: 310px"><a href="http://ivanz.com/wp-content/uploads/2009/09/fullmoon.jpg" rel="shadowbox[post-678];player=img;"><img class="size-medium wp-image-679" title="Full moon" src="http://ivanz.com/wp-content/uploads/2009/09/fullmoon-300x225.jpg" alt="Full moon" width="300" height="225" /></a><p class="wp-caption-text">Full moon</p></div>
]]></content:encoded>
			<wfw:commentRss>http://ivanz.com/2009/09/04/fullmoon-trance-on-full-moon/feed/</wfw:commentRss>
		<slash:comments>1</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>
	</channel>
</rss>
