<?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>Storm in a Jar</title>
	<atom:link href="http://www.storminajar.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.storminajar.net</link>
	<description>Grognak&#039;s journal of random ramblings.</description>
	<lastBuildDate>Mon, 30 Aug 2010 14:55:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Letting your UnitOfWork &amp; Repositories support multiple frameworks</title>
		<link>http://www.storminajar.net/2010/08/30/letting-your-unitofwork-repositories-support-multiple-frameworks/</link>
		<comments>http://www.storminajar.net/2010/08/30/letting-your-unitofwork-repositories-support-multiple-frameworks/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 14:30:20 +0000</pubDate>
		<dc:creator>Grognak</dc:creator>
				<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[Software development]]></category>

		<guid isPermaLink="false">http://www.storminajar.net/?p=851</guid>
		<description><![CDATA[A little while ago I found myself in a situation where I had to replace Microsoft&#8217;s Entity Framework with NHibernate. I had figured this wouldn&#8217;t be too much of a problem! I had neatly used a Unit of Work and Repository implementation for all my data access needs, so I felt pretty secure in the [...]]]></description>
			<content:encoded><![CDATA[<p>A little while ago I found myself in a situation where I had to replace Microsoft&#8217;s Entity Framework with NHibernate. I had figured this wouldn&#8217;t be too much of a problem! I had neatly used a Unit of Work and Repository implementation for all my data access needs, so I felt pretty secure in the knowledge that I should be able to switch quite quickly between the two.</p>
<p>Eventually I did, it wasn&#8217;t near as quick as I had initially thought though. I discovered that all these articles on the internet describe how to implement a Unit of Work <em>for a single framework!</em> The one I had written was focused solely on the <em>Entity Framework</em> and was pretty much useless for <em>NHibernate</em>. Dismayed, I decided to scrap what I had and start over with the design. This time specifically keeping in mind that I might want to be able to swap between the two at some point in the future.</p>
<p>Let&#8217;s start at the begin. To be able to create a common interface for my repositories, and a common way to interact with my repositories, I decided I would need a common UnitOfWork interface as well. It doesn&#8217;t have to do anything, as long as it gives me the ability to cast my objects back and forth.</p>
<pre class="brush:csharp">/// &lt;summary&gt;
/// Doesn't do anything besides providing a common interface.
/// &lt;/summary&gt;
/// &lt;remarks&gt;
/// TODO: Distinguish common functionality later and implement it!
/// &lt;/remarks&gt;
public interface IUnitOfWork : IDisposable
{
}
</pre>
<p>Well, that was easy! I now have my interface. I can already picture the frown on your face. After all, what&#8217;s the bloody point of an interface without methods?! Admittedly, not much at first sight. Bear with me and you&#8217;ll find out why I&#8217;ve done this.</p>
<p>The following thing I needed was some sort of interface that allows me to specify the type of context for the Unit of Work. Aha! I smell <em>generics</em>!</p>
<pre class="brush:csharp">/// &lt;summary&gt;
/// Provides a generic interface for a Unit of Work.
/// &lt;/summary&gt;
public interface IUnitOfWork&lt;TContext&gt; : IUnitOfWork
{
    TContext Context;
    void SaveChanges&lt;TEntity&gt;(TEntity entity);
    void CancelChanges();
}
</pre>
<p>Let&#8217;s not worry about the specifics yet. The only thing I am worried about here is providing a <em>generic</em> Unit of Work. This way I can simply define a Unit of Work and give the type of the context along with it, for example the <em>ObjectContext</em> for EF4 and <em>ISession</em> for NHibernate! Pretty neat We&#8217;re not done yet though. Because the Entity Framework and NHibernate are so different from each other, I decided to implement specific interface for each of those as well. I can imagine different methods might be useful when working with one or the other.</p>
<pre class="brush:csharp">/// &lt;summary&gt;
/// Implement Unit of Work specifically for Entity Framework.
/// Details can be implemented later.
/// &lt;/summary&gt;
public interface IEFUnitOfWork : IUnitOfWork&lt;ObjectContext&gt;
{
}

/// &lt;summary&gt;
/// Implement Unit of Work specifically for NHibernate.
/// Details can be implemented later.
/// &lt;/summary&gt;
public interface INHUnitOfWork: IUnitOfWork&lt;ISession&gt;
{
}
</pre>
<p>That&#8217;s it! I have now defined the interfaces that will help me with building a common repository interface and a common way of using concrete repositories. Let&#8217;s go and have a look at the repositories. Here&#8217;s a simple interface for the repositories, it only has three methods for now, but of course you can expand on that to your own liking.</p>
<pre class="brush:csharp">public interface IRepository&lt;T&gt;
{
    T GetFirst(Expression&lt;Func&lt;T, bool&gt;&gt; where,
        Expression&lt;Func&lt;T, object&gt;&gt;[] eagerFetch);

    IEnumerable&lt;T&gt; GetMany(Expression&lt;Func&lt;T, bool&gt;&gt; where,
        Expression&lt;Func&lt;T, object&gt;&gt;[] eagerFetch);

    IEnumerable&lt;T&gt; GetAll(Expression&lt;Func&lt;T, object&gt;&gt;[] eagerFetch);
}
</pre>
<p>I can now use this interface to implement different base repositories for<em> Entity Framework </em>as well as <em>NHibernate</em>.</p>
<p>I will start by showing the implementation for the Entity Framework. If you pay close attention to it, you will see that the <em>AddIncludesToObjectSet()</em> method uses a generic <em>Include&lt;T&gt; </em>method. This is an extension method on top of the <em>ObjectQuery </em>object. I&#8217;ll probably explain this in a follow-up post!</p>
<pre class="brush:csharp">public abstract class Repository&lt;T&gt; : IRepository&lt;T&gt; where T : class
{
    private IEFUnitOfWork unitOfWork;
    private ObjectContext objectContext;
    private ObjectQuery&lt;T&gt; objectSet;

    /// &lt;summary&gt;
    /// Constructs an EntityFramework repository.
    /// &lt;/summary&gt;
    /// &lt;param name="unitOfWork"&gt;Unit of Work for repository to work with.&lt;/param&gt;
    public Repository(IUnitOfWork unitOfWork)
    {
        this.unitOfWork = (IEFUnitOfWork)unitOfWork;
        this.objectContext = this.unitOfWork.Context;
    }

    public virtual T GetFirst(Expression&lt;Func&lt;T, bool&gt;&gt; where,
        Expression&lt;Func&lt;T, object&gt;&gt;[] eagerFetch)
    {
        this.objectSet = this.objectContext.CreateObjectSet&lt;T&gt;();
        AddIncludesToObjectSet(eagerFetch);

        return this.objectSet
            .Where(where)
            .FirstOrDefault();
    }

    public virtual IEnumerable&lt;T&gt; GetMany(Expression&lt;Func&lt;T, bool&gt;&gt; where,
        Expression&lt;Func&lt;T, object&gt;&gt;[] eagerFetch)
    {
        this.objectSet = this.objectContext.CreateObjectSet&lt;T&gt;();
        AddIncludesToObjectSet(eagerFetch);

        return this.objectSet
            .Where(where)
            .AsEnumerable();
    }

    public virtual IEnumerable&lt;T&gt; GetAll(Expression&lt;Func&lt;T, object&gt;&gt;[] eagerFetch)
    {
        this.objectSet = this.objectContext.CreateObjectSet&lt;T&gt;();
        AddIncludesToObjectSet(eagerFetch);

        return this.objectSet
            .AsEnumerable();
    }

    private void AddIncludesToObjectSet(Expression&lt;Func&lt;T, object&gt;&gt;[] eagerFetch)
    {
        if (eagerFetch != null)
        {
            foreach (Expression&lt;Func&lt;T, object&gt;&gt; fetch in eagerFetch)
            {
                this.objectSet.Include&lt;T&gt;(fetch);
            }
        }
    }
}
</pre>
<p>For the NHibernate repository I came up with the following code below this paragraph. Keep in mind that I&#8217;ve used the alpha version of NHibernate 3.0 and therefor I&#8217;m able to use the NHibernate.Linq namespace easily and call the <em>Query&lt;T&gt;() </em>method on the <em>ISession </em>object!</p>
<pre class="brush:csharp">public abstract class Repository&lt;T&gt; : IRepository&lt;T&gt; where T : class
{
    private INHUnitOfWork unitOfWork;
    private ISession session;

    public Repository(IUnitOfWork unitOfWork)
    {
        this.unitOfWork = (INHUnitOfWork)unitOfWork;
        this.session = this.unitOfWork.Context.SessionFactory.GetCurrentSession();
    }

    public virtual T GetFirst(Expression&lt;Func&lt;T, bool&gt;&gt; where,
        Expression&lt;Func&lt;T, object&gt;&gt;[] eagerFetch)
    {
        IQueryable&lt;T&gt; query = this.session
            .Query&lt;T&gt;()
            .Where(where);

        query = AddFetchMode(query, eagerFetch);

        return query.FirstOrDefault();
    }

    public virtual IEnumerable&lt;T&gt; GetMany(Expression&lt;Func&lt;T, bool&gt;&gt; where,
        Expression&lt;Func&lt;T, object&gt;&gt;[] eagerFetch)
    {
        IQueryable&lt;T&gt; query = this.session
            .Query&lt;T&gt;()
            .Where(where);

        query = AddFetchMode(query, eagerFetch);

        return query.AsEnumerable();
    }

    public virtual IEnumerable&lt;T&gt; GetAll(Expression&lt;Func&lt;T, object&gt;&gt;[] eagerFetch)
    {
        IQueryable&lt;T&gt; query = this.session.Query&lt;T&gt;();
        query = AddFetchMode(query, eagerFetch); 

        return query.AsEnumerable();
    }

    private IQueryable&lt;T&gt; AddFetchMode(IQueryable&lt;T&gt; queryable,
        Expression&lt;Func&lt;T, object&gt;&gt;[] eagerFetch)
    {
        if (eagerFetch != null)
        {
            foreach (Expression&lt;Func&lt;T, object&gt;&gt; fetch in eagerFetch)
            {
                queryable = queryable.Fetch(fetch);
            }
        }

        return queryable;
    }
}
</pre>
<p>What have I achieved after all this trouble? That I can write our repositories once and never change them, regardless if I&#8217;m working with <em>NHibernate </em>or <em>Entity Framework</em>! Also, this is the part where my useless interface without methods comes into play! I know I have an <em>IUnitOfWork </em>object and I can simply pass it along to the constructor of this repository, regardless of the fact if it is an <em>INHUnitOfWork </em>or <em>IEFUnitOfWork</em>. Perhaps this part can still use a bit of work with type safety, so that there are no accidents with passing along a <em>IEFUnitOfWork </em>to a repository that is expecting a <em>INHUnitOfWork</em>!</p>
<pre class="brush:csharp">public class ConcreteRepository : Repository&lt;TEntity&gt;, IConcreteRepository
{
    public ConcreteRepository(IUnitOfWork unitOfWork)
        : base(unitOfWork)
    {
    }
}
</pre>
<p>The only thing I would need to do when I switch between <em>NHibernate </em>or <em>Entity Framework</em> now is to change the using statement and the project references to point to the proper assembly containing the specific classes and interfaces!</p>
<pre class="brush:csharp">using Storminajar.Framework.Data.NHibernate;
</pre>
<p>or</p>
<pre class="brush:csharp">using Storminajar.Framework.Data.EntityFramework;
</pre>
<p>Of course I would still need to make my application aware of which Unit of Work to use and I would have to implement that logic somewhere, but at least I won&#8217;t have to change my code of my repositories!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.storminajar.net/2010/08/30/letting-your-unitofwork-repositories-support-multiple-frameworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Loading embedded UserControls from assemblies</title>
		<link>http://www.storminajar.net/2010/08/27/loading-usercontrols-from-assemblies/</link>
		<comments>http://www.storminajar.net/2010/08/27/loading-usercontrols-from-assemblies/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 12:24:09 +0000</pubDate>
		<dc:creator>Grognak</dc:creator>
				<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Embedded User Controls]]></category>

		<guid isPermaLink="false">http://www.storminajar.net/?p=832</guid>
		<description><![CDATA[I needed a way to share custom UserControls between different projects. There are a lot of articles about this already on the web, but it did take me a little while to pick a suitable approach and work it out. I eventually settled for creating a VirtualPathProvider and embedding my UserControls in the assembly of [...]]]></description>
			<content:encoded><![CDATA[<p>I needed a way to share custom UserControls between different projects. There are a lot of articles about this already on the web, but it did take me a little while to pick a suitable approach and work it out. I eventually settled for creating a <em>VirtualPathProvider</em> and embedding my UserControls in the assembly of a separate web application. The inspiration came from <a href="http://www.codeproject.com/KB/aspnet/ASP2UserControlLibrary.aspx" target="_blank">this article</a> on <a href="http://www.codeproject.com" target="_blank">codeproject</a>.</p>
<p>It really works like a charm, but I didn&#8217;t like the way how the <em>LoadControl()</em> gets called. From my point of view it felt a little unnatural to remember the specific way to build the virtual path to load the assembly. I wrapped this in a little extension method on the <em>Page</em> class. It&#8217;s just a little wrapper to provide a clearer call to <em>LoadControl()</em>.</p>
<pre class="brush:csharp">public static class PageExtensions
{
    public static Control LoadControl(this Page page, string assemblyName,
        string namespaceName, string userControlName)
    {
        try
        {
            string virtualPath = String.Format("~/App_Resource/{0}/{1}.{2}",
                assemblyName, namespaceName, userControlName);

            return page.LoadControl(virtualPath);
        }
        catch (Exception ex)
        {
            throw new Exception("Loading embedded user control failed! "
                + "See InnerException for more details.", ex);
        }
    }
}
</pre>
<p>This way, whenever I need to load a UserControl that has been embedded in an assembly, I can simply call the overloaded <em>LoadControl() </em>method without having to remember the precise syntax of the URL. For example:</p>
<pre class="brush:csharp">protected void Page_Load(object sender, EventArgs e)
{
    Control myCustomCtrl = LoadControl(
        "Storminajar.MyWeb.UserControls.dll",
        "Storminajar.MyWeb.UserControls",
        "CustomControl.ascx");

    // Add control to the page.
    this.PlaceHolder1.Controls.Add(myCustomCtrl);
}
</pre>
<p>The good part about this is that I can still cast the <em>Control </em>to a real <em>CustomControl</em> object and set additional properties if I want to. Remember when doing this, a reference needs to be made to the <em>Storminajar.MyWeb.UserControls.dll</em> assembly! The reference isn&#8217;t strictly necessary when just loading a UserControl without the need to access specific properties.</p>
<p>Also, an interesting  thing I found out is that I can only seem to load this control through the code-behind. When I declare the control in my aspx file, it doesn&#8217;t seem to want to instantiate the controls (such as combo boxes, grids, etc). So, for example, the following code does <strong>not</strong> work:</p>
<pre class="brush:xml">
<%@ Page Language="C#" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="Storminajar.MyWeb.Default"
    MasterPageFile="~/Shared/Templates/Site.Master"
    Title="Default page illustrating my example." %>

<%@ Register Assembly="Storminajar.MyWeb.UserControls"
    Namespace="Storminajar.MyWeb.UserControls" tagPrefix="Library" %>

<asp:Content runat="server" ID="content" ContentPlaceHolderID="siteMasterContent">
    <Library:CustomControl runat="server" ID="MyCustomControl"></Library:CustomControl>
</asp:Content>
</pre>
<p>Nor does the following work:</p>
<pre class="brush:xml">
<%@ Page Language="C#" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="Storminajar.MyWeb.Default"
    MasterPageFile="~/Shared/Templates/Site.Master"
    Title="Default page illustrating my example." %>

<%@ Register tagPrefix="Library" tagName="CustomControl"
    Src="~/App_Resource/Storminajar.MyWeb.UserControls.dll/
           Storminajar.MyWeb.UserControls.CustomControl.ascx"
%>

<asp:Content runat="server" ID="content" ContentPlaceHolderID="siteMasterContent">
    <Library:CustomControl runat="server" ID="MyCustomControl"></Library:CustomControl>
</asp:Content>
</pre>
<p>I can&#8217;t for the life of me imagine why this wouldn&#8217;t instantiate all the different components in the UserControl; especially Telerik components, such as: RadComboBox, RadGrid, etc. If anyone spots the errors (ignore the capitalisation issues in my sample, for some reason I can&#8217;t get the text formatted properly), I would appreciate it if you let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.storminajar.net/2010/08/27/loading-usercontrols-from-assemblies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Replacing Entity Framework with NHibernate</title>
		<link>http://www.storminajar.net/2010/08/17/replacing-entity-framework-with-nhibernate/</link>
		<comments>http://www.storminajar.net/2010/08/17/replacing-entity-framework-with-nhibernate/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 14:21:06 +0000</pubDate>
		<dc:creator>Grognak</dc:creator>
				<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[NHibernate]]></category>

		<guid isPermaLink="false">http://www.storminajar.net/?p=821</guid>
		<description><![CDATA[A few weeks ago, we came to the conclusion that there are a few vital issues with Microsoft&#8217;s latest Entity Framework. I had already discovered the limitations of the designer when working with large models. To my surprise this has been a known issue for a very long time, but there no improvements have been [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, we came to the conclusion that there are a few vital issues with Microsoft&#8217;s latest Entity Framework.</p>
<p>I had already discovered the limitations of the designer when working with large models. To my surprise this has been a known issue for a very long time, but there no improvements have been made with the release of Entity Framework 4.0. A guideline I&#8217;ve seen on MSDN says that models from about 125 entities and upwards should be split up. Ironically enough, there&#8217;s hardly any support for splitting a model in different parts and I would end up with editing my mapping files manually, because there&#8217;s no designer support once you go down this road.</p>
<p>However, there&#8217;s an even bigger issue that we ran into, while performing the most basic operations in our real world application. We had chosen to work with Self Tracking Entities, as it looked to be a perfect and simple solution for all our problems. Yeah, I know&#8230; we should have known better! I&#8217;ll give you a simple example, that has nothing to do with our real world application, but will give you a clear insight in the problems.</p>
<p>Consider the following scenario: we have a web page that shows a list of cats. Every cat has an owner (well that&#8217;s what the owner likes to think anyway). Let&#8217;s say we want to change the owner for a cat.</p>
<p>I would consider this just a very basic chore, easily be solved in a way like this:</p>
<pre class="brush:csharp">public void UpdateTheCat(int catId, Owner newOwner)
{
    Cat myCat = this.Cats.Where(c =&gt; c.CatId == catId).Single();
    myCat.StartTracking();

    // Update cat properties and eventually the owner.
    myCat.Owner = newOwner;

    using (IUnitOfWork uof = ObjectFactory.Create&lt;IUnitOfWork&lt;())
    {
        ICatRepository icr = ObjectFactory.Create&lt;ICatRepository&lt;(uof);
        icr.Update(myCat);
    }
}
</pre>
<p>Where the CatRepository Update method would do something like this:</p>
<pre class="brush:csharp">public void UpdateCat(Cat myCat)
{
    this.objectContext.ApplyChanges&lt;Cat&gt;(myCat);
    this.objectContext.SaveChanges();
}
</pre>
<p>Well, this is simply not possible. No matter what I did, whenever I tried to update a Navigation Property in a detached object, I would get an exception telling me that there were duplicate key values in the <em>ObjectStateManager</em>. Apparently someone in Microsoft&#8217;s Entity Framework team has made this by design. You&#8217;re not allowed to simply update your object this way because it could be that <em>both </em>objects would have changed and the Entity Framework wouldn&#8217;t be able to resolve the conflict.</p>
<p>That&#8217;s an understandable design decision. What&#8217;s not so understandable is that they check if it&#8217;s the same object based on it&#8217;s reference (aka. memory pointer). So, if I fetch a cat object from the database and, at a later stage in my code, create a complete new cat with the <em>exact same </em>values then, apparently, it&#8217;s not the same cat! Purely from a technical point of view this is 100% correct, because my new cat is in a different part of the server memory. However, from a <em>functional point of view</em> it&#8217;s still the exact same cat.</p>
<p>So, simply updating objects or adding and removing objects from a collection becomes a huge pain in the backside. Of course Microsoft presents workarounds. But, that&#8217;s exactly what they are, workarounds. In our case the workarounds weren&#8217;t very useful either, so we were stuck.</p>
<p>Feeling very disappointed I set out to learn more about NHibernate. It didn&#8217;t take long before we discovered we could simply cross out a lot of the limitations from the Entity Framework. To our delight we discovered that the NHibernate session is light-weight enough to store in the <em>HttpSession</em>! This looks to be a major advantage for us! This means the session can keep tracking its own changes over multiple requests to the server!</p>
<p>More to come later&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.storminajar.net/2010/08/17/replacing-entity-framework-with-nhibernate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buying a George Clooney machine</title>
		<link>http://www.storminajar.net/2010/08/16/buying-a-george-clooney-machine/</link>
		<comments>http://www.storminajar.net/2010/08/16/buying-a-george-clooney-machine/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 09:46:32 +0000</pubDate>
		<dc:creator>Grognak</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Nespresso]]></category>

		<guid isPermaLink="false">http://www.storminajar.net/?p=806</guid>
		<description><![CDATA[At least that&#8217;s what my colleague called it when he learned of the fact that I had bought myself a Nespresso machine. Yes, indeed. I guess I should be thankful it makes coffee and doesn&#8217;t duplicate George Clooney. Ever since returning from my holiday in England, I&#8217;ve been wanting to invest into a coffee machine. [...]]]></description>
			<content:encoded><![CDATA[<p>At least that&#8217;s what my colleague called it when he learned of the fact that I had bought myself a Nespresso machine. Yes, indeed. I guess I should be thankful it makes coffee and doesn&#8217;t duplicate George Clooney.</p>
<p style="text-align: center;"><a href="http://www.storminajar.net/wp-content/uploads/2010/08/nespresso.jpg" rel="lightbox[806]"><img class="size-full wp-image-809 aligncenter" title="Nespresso, George Clooney" src="http://www.storminajar.net/wp-content/uploads/2010/08/nespresso.jpg" alt="" width="645" height="241" /></a></p>
<p style="text-align: left;">Ever since returning from my holiday in England, I&#8217;ve been wanting to invest into a coffee machine. I really missed having cappuccino with my breakfast in the morning and enjoy a proper espresso after dinner in the evening. I tried making my own milk froth once in an attempt to create my own cappuccino and, quite quickly, I came to the conclusion that it takes a bit more than my regular filter coffee with wanna-be milk froth to satisfy my need for a cappuccino.</p>
<p>I started out on a journey to buy a new coffee machine. My demands were easily thought up: automated cappuccino, espresso and lastly, good tasting coffee. To my horror I discovered the wide range of choices to make. Prices varied in ranges from €130 to well over €2000! Right. I set myself to find something priced around €200, maybe €250. That immediately narrowed down the choices quite a lot!</p>
<p>Eventually I settled for a <a href="http://www.delonghi.co.uk/product_page.php?id=240&amp;key=Coffee%20Machines" target="_blank">DeLonghi Lattisima</a>. A little more expensive than I originally had in mind, but well worth the money. I can make all sorts of coffee now with just the press of a single button! Awesome! The milk froth is made from fresh milk and the coffee from those expensive, but tasty, little Nespresso cups. My first cappuccino out of that machine was a little miracle to be honest.</p>
<p>Right now I&#8217;m at work, staring at my horrible cup of <a href="http://www.senseo.nl/Pages/Home.aspx" target="_blank">Senseo</a>, which inspired me to write this. I miss my George Clooney machine already! Nespresso. What else?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.storminajar.net/2010/08/16/buying-a-george-clooney-machine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Against better judgement</title>
		<link>http://www.storminajar.net/2010/08/15/against-better-judgement/</link>
		<comments>http://www.storminajar.net/2010/08/15/against-better-judgement/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 10:36:58 +0000</pubDate>
		<dc:creator>Grognak</dc:creator>
				<category><![CDATA[World of Warcraft]]></category>
		<category><![CDATA[PuG]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[The Lich King]]></category>

		<guid isPermaLink="false">http://www.storminajar.net/?p=799</guid>
		<description><![CDATA[So last night I decided to join a pug, they advertised in trade by saying they only had the Lich King left to kill. I joined on the basis of hoping that I might get lucky just once, but I should have known better of course. The general way of a pug is to wait [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.storminajar.net/wp-content/uploads/2010/08/LichKing.jpg" rel="lightbox[799]"><img class="alignleft size-full wp-image-800" title="LichKing" src="http://www.storminajar.net/wp-content/uploads/2010/08/LichKing.jpg" alt="" width="671" height="348" /></a></p>
<p>So last night I decided to join a pug, they advertised in trade by saying they only had the Lich King left to kill. I joined on the basis of hoping that I might get lucky just once, but I should have known better of course. The general way of a pug is to wait for an hour, go into the raid, wipe once or twice on a boss and then disband the group because everyone is leaving.</p>
<p>Yesterday was a little worse! I joined the group around 8pm. They only needed to fill up five more spots, so I had good hopes of being under way quite shortly. Not so! <strong><span style="text-decoration: underline;">Two</span> </strong>hours later we finally got our first action. Two bloody hours worth of waiting and we managed to wipe in about thirty seconds! The off-tank got kicked immediately and so we had to wait even longer while a new tank was being found.</p>
<p>Another ten minutes later and we went in for our second attempt. It was a little better, but we wiped on the transition phase. The third attempt we actually got to phase two! On the fourth attempt we wiped on phase one and the raid leader decided that the healing was shit and that was the cause of all the wipes, so he kicked us all!</p>
<p>Two and a half hours of my night wasted by some pompous fool who thinks the wipes happened because of bad healing! Let&#8217;s not mention the fact that half the people in the group didn&#8217;t seem to know what they were doing. You know, the kind of people that are focused on getting the biggest numbers you can imagine and just sit tight, even when they have the disease &#8211; and thus should move the fuck out of the group to the add &#8211; they just continued to DPS as if nothing was amiss.</p>
<p>So, dearest raid leader of that particular pug. Thank you for wasting my night and my mood!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.storminajar.net/2010/08/15/against-better-judgement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cooking with Groggy</title>
		<link>http://www.storminajar.net/2010/08/06/cooking-with-groggy/</link>
		<comments>http://www.storminajar.net/2010/08/06/cooking-with-groggy/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 07:33:43 +0000</pubDate>
		<dc:creator>Grognak</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Cooking]]></category>
		<category><![CDATA[Salad]]></category>

		<guid isPermaLink="false">http://www.storminajar.net/?p=792</guid>
		<description><![CDATA[I&#8217;m not saying it&#8217;s particularly good cooking, but I was quite happy with a salad I made last night! I only had a lot of leftovers and I found wondering what I could do with them to make it a yummy dinner. I ended up throwing them all together in a bowl and mixing it [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not saying it&#8217;s particularly good cooking, but I was quite happy with a salad I made last night! I only had a lot of leftovers and I found wondering what I could do with them to make it a yummy dinner. I ended up throwing them all together in a bowl and mixing it up. Even to my own surprise, it was actually quite tasty!</p>
<p><a href="http://www.storminajar.net/wp-content/uploads/2010/08/the-swedish-chef.jpg" rel="lightbox[792]"><img class="alignleft size-full wp-image-796" title="the-swedish-chef" src="http://www.storminajar.net/wp-content/uploads/2010/08/the-swedish-chef.jpg" alt="" width="146" height="205" /></a>What do you need:</p>
<p>- Mixed salad (lettuce, carrot, onions, &#8230;)<br />
- Soft goat cheese<br />
- Black olives<br />
- Tomato<br />
- Finely sliced meat of your choice<br />
- Mayonnaise<br />
- Honey<br />
- Mustard</p>
<ul></ul>
<p>I settled on making a very simple dressing out of honey, mustard and (low-fat!) mayonnaise. I took a spoonful of mayonnaise and an equal amount of honey. I added a small tea spoon worth of mustard. To make the dressing a bit more fluid, add a bit of water and start mixing it together really well until it&#8217;s a smooth substance that you can easily pour over your salad.</p>
<p>Put the salad into a bowl and slice up all the other ingredients into little chunks and add them to the bowl. Pour the dressing over it and mix it up again and you&#8217;re done!</p>
<p>Doesn&#8217;t take a lot of time to make and it tastes wonderful! I served it with a portion of white rice and a small bit of leftover Chinese food! Shame I forgot to take a picture of it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.storminajar.net/2010/08/06/cooking-with-groggy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A new guild, a fresh start</title>
		<link>http://www.storminajar.net/2010/08/04/a-new-guild-a-fresh-start/</link>
		<comments>http://www.storminajar.net/2010/08/04/a-new-guild-a-fresh-start/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 07:38:20 +0000</pubDate>
		<dc:creator>Grognak</dc:creator>
				<category><![CDATA[World of Warcraft]]></category>
		<category><![CDATA[A Drop of Rain]]></category>

		<guid isPermaLink="false">http://www.storminajar.net/?p=787</guid>
		<description><![CDATA[My girlfriend and I have started a completely new World of Warcraft guild and we have officially opened recruitment yesterday! In our first evening we had some interest already and we&#8217;ve even had some applications before the first 24-hours have gone by! That makes me hopeful for the future and hopefully we will be able [...]]]></description>
			<content:encoded><![CDATA[<p>My girlfriend and I have started a completely new World of Warcraft guild and we have officially opened recruitment yesterday! In our first evening we had some interest already and we&#8217;ve even had some applications before the first 24-hours have gone by! That makes me hopeful for the future and hopefully we will be able to stir the interest of many more people and lure them into our newly built home! <img src='http://www.storminajar.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>So without further ado, a shameless plug for <strong>A Drop of Rain</strong>! We&#8217;re a Horde guild on the European Quel&#8217;Thalas realm. Our new home can be found at <a href="http://ador-guild.storminajar.net" target="_blank">http://ador-guild.storminajar.net</a>! Here&#8217;s our recruitment statement:</p>
<blockquote><p>Greetings,</p>
<p>&lt;A Drop of Rain&gt; is a new raiding guild on the  European realm Quel’Thalas, and we’re what you would call a smartcore  guild.</p>
<p>We aim to be a progression guild with a hardcore attitude  during raids, meaning we take our guild progression seriously and want  to clear the available content within reasonable time, while retaining a  casual and friendly atmosphere inside and outside of the guild.</p>
<p>We’re  starting from scratch and don’t have a single team of raiders yet, but  that’s okay, because we’re aiming to be a Cataclysm raiding guild and  aren’t worried about clearing WotLK content at this point in time.  However, if we get enough people, we’ll visit ICC and RS and attempt to  clear them.</p>
<p>So, in order to be ready and prepared for the launch  of Cataclysm, we’re looking to recruit players. However, we won’t be  taking in just any player; you need to show that you’re capable of  meeting our standards as a raider and that you’d be dedicated to helping  the guild clear content. We don’t want to be a casual guild that takes  in people who sign for one or two raids, don’t read up on tactics and  then don’t sign up any more. We want a team of dedicated people who work  together and have the same goals – to clear the content with skilled  players without the elitist attitudes, toward guildies as well as  non-guildies.</p>
<p>Currently, we’d like to recruit enough people to be  able to do 25 man raids, but we’re obviously aware that we won’t be  able to do that right away and we’re cool with only doing 10 mans to  start with. Regardless of whether we’re doing 10 and/or 25 mans, we’d  like to do heroic modes as well. So, because we’re starting from scratch  and because we need to build up our team(s), we require people who have  enough patience to wait until we’re ready to start raiding.</p>
<p>We’re  welcoming re-rollers as well. People from the Alliance and even from  other realms are welcome to apply if our goals as a guild spark an  interest. Even if you decide to make a new character and make that your  main for Cataclysm, and even if you start that new character now or when  Cataclysm comes out, you’re welcome to apply as long as you’re sure  that we’re the right guild for you and that you’ll stick with us  patiently. We’ll also be taking our team(s) of recruits (level 80s,  obviously) through Ulduar hardmodes to test how well each member deals  with different situations.</p>
<p>So, now that you’ve gotten this far and know what we’re all about, we’ll list what we’re recruiting…</p>
<p>Everything!</p>
<p>If you’d like to learn more about us and/or apply, please visit our website at <a href="http://ador-guild.storminajar.net/" target="_blank">http://ador-guild.storminajar.net</a> Please take the time to look around, we appreciate people who put in  the time to get to know guilds as well as possible before applying.</p>
<p>If  after exploring the website you have any unanswered questions, please  contact either myself on Survar / Sparxolife, or Grognak.</p>
<p>Thanks for your time, and may you have epic adventures! RP lolwut.</p></blockquote>
<p>What are you waiting for?! Come on folks, make us the best guild that has ever existed!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.storminajar.net/2010/08/04/a-new-guild-a-fresh-start/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>There And Back Again</title>
		<link>http://www.storminajar.net/2010/08/02/there-and-back-again/</link>
		<comments>http://www.storminajar.net/2010/08/02/there-and-back-again/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 09:50:53 +0000</pubDate>
		<dc:creator>Grognak</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Birmingham]]></category>

		<guid isPermaLink="false">http://www.storminajar.net/?p=767</guid>
		<description><![CDATA[&#8230;Not a Hobbit&#8217;s Tale and certainly not by Bilbo Baggins. My apologies for the cheesy reference to Lord of the Rings, but I couldn&#8217;t resist it with a title as this. Obviously, it refers to my trip to Birmingham. It was a great week out; I had wonderful company, the food was great and the [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230;Not a Hobbit&#8217;s Tale and certainly not by Bilbo Baggins.</p>
<p>My apologies for the cheesy reference to Lord of the Rings, but I couldn&#8217;t resist it with a title as this. Obviously, it refers to my trip to Birmingham. It was a great week out; I had wonderful company, the food was great and the city itself was quite nice as well! Alas, it was far, far too short a time!</p>
<div class='aligncenter' style='text-align:center' > <a title="                               " rel="lightbox-4c56946e24f49" href="http://lh4.ggpht.com/_sRdssb7y3Ss/TFXV9vMU_6I/AAAAAAAABpY/ThZVLTqAU9g/IMG_1005.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh4.ggpht.com/_sRdssb7y3Ss/TFXV9vMU_6I/AAAAAAAABpY/ThZVLTqAU9g/s288/IMG_1005.jpg" alt="IMG_1005.jpg" width="150" /></a><a title="                               " rel="lightbox-4c56946e24f49" href="http://lh4.ggpht.com/_sRdssb7y3Ss/TFXWCjwoAEI/AAAAAAAABqE/lZlqv4zJeS8/IMG_1048.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh4.ggpht.com/_sRdssb7y3Ss/TFXWCjwoAEI/AAAAAAAABqE/lZlqv4zJeS8/s288/IMG_1048.jpg" alt="IMG_1048.jpg" width="150" /></a><a title="                               " rel="lightbox-4c56946e24f49" href="http://lh3.ggpht.com/_sRdssb7y3Ss/TFXWC0VyDCI/AAAAAAAABqI/qC-8kKP9EMI/IMG_1049.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh3.ggpht.com/_sRdssb7y3Ss/TFXWC0VyDCI/AAAAAAAABqI/qC-8kKP9EMI/s288/IMG_1049.jpg" alt="IMG_1049.jpg" width="150" /></a></div><div class='clear'></div>
<p><strong>Saturday, </strong>24th of July.</p>
<p>It was early. I got up at around 5 AM and left for the airport around 5:30 &#8211; 5:45. As it was early Saturday morning the roads were pretty much empty and it was a solid, uneventful drive to Schiphol Airport. Much to my surprise I found myself at the airport as early as 7:30, while my flight was only going at 10:15!  I had already checked into my flight online, so I only had to wait to drop my luggage off. The queues at the airport weren&#8217;t nearly as gigantic as I had feared, so I had plenty of time to kill once I was past the security checks.</p>
<p>I took it easy and looked around the shops. I found a sweet cuddle-toy Ferret for my girlfriend, who now has to go through his plush life as <em>Colonel Fluffykins</em>. I had a far too expensive breakfast. For one sammich, a drink and some fresh fruit I had to pay 15 Euro! Eventually I could board and be on my way to Birmingham International Airport!</p>
<div class='aligncenter' style='text-align:center' > <a title="                               " rel="lightbox-4c568bce026c5" href="http://lh5.ggpht.com/_sRdssb7y3Ss/TFXVyrNxa0I/AAAAAAAABn8/aY-zWnft6oU/IMG_0914.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh5.ggpht.com/_sRdssb7y3Ss/TFXVyrNxa0I/AAAAAAAABn8/aY-zWnft6oU/s288/IMG_0914.jpg" alt="IMG_0914.jpg" width="150" /></a><a title="                               " rel="lightbox-4c568bce026c5" href="http://lh4.ggpht.com/_sRdssb7y3Ss/TFXVywkL_KI/AAAAAAAABoA/iHF3jF9mruI/IMG_0916.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh4.ggpht.com/_sRdssb7y3Ss/TFXVywkL_KI/AAAAAAAABoA/iHF3jF9mruI/s288/IMG_0916.jpg" alt="IMG_0916.jpg" width="150" /></a><a title="                               " rel="lightbox-4c568bce026c5" href="http://lh6.ggpht.com/_sRdssb7y3Ss/TFXVzO9Q0uI/AAAAAAAABoE/cBe_LCyZ7rg/IMG_0917.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh6.ggpht.com/_sRdssb7y3Ss/TFXVzO9Q0uI/AAAAAAAABoE/cBe_LCyZ7rg/s288/IMG_0917.jpg" alt="IMG_0917.jpg" width="150" /></a></div><div class='clear'></div>
<p>My girl was waiting for me when I finally retrieved my luggage and we  made our way to the hotel that would become our little home for the week  to come. We found our way through Birmingham fairly quickly without too  much incident and found ourselves at the hotel in fairly short order.  We got a room at the 11th floor! To our delight the room, as well as the  bathroom, were very spacious and comfortable.</p>
<p>We didn&#8217;t do much for the rest of the day&#8230; <img src='http://www.storminajar.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><strong>Sunday, </strong>25th of July</p>
<p>Our first day of exploring the inner city of Birmingham. The goal was to find, and visit, the National Sea Life Centre. We didn&#8217;t have to look around much as it was just a five minute walk from our hotel! We got our tickets and a few funny looking hats and we had a pretty good time! There were lots of things to view, from sharks to giant sea turtles. There even was a 4D-cinema! Ieven got myself a sweet mug as souvenir. Well, I say mug, but it&#8217;s pretty much pint-sized!</p>
<p style="text-align: center;">
<p style="text-align: left;">The day was still fairly young when we left Sea Life and so we decided to continue our explorations. Pretty quickly we stumbled onto Victoria Square and popped into the <em>Museum &amp; Art Gallery</em> while we were there. The place itself was huge and I believe we ended up skipping quite a lot of it as we were tired enough already of walking around.</p>
<p style="text-align: left;"><div class='aligncenter' style='text-align:center' > <a title="                               " rel="lightbox-4c568c32975a2" href="http://lh6.ggpht.com/_sRdssb7y3Ss/TFXV09h1SLI/AAAAAAAABoY/afh8qvE3zJQ/IMG_0929.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh6.ggpht.com/_sRdssb7y3Ss/TFXV09h1SLI/AAAAAAAABoY/afh8qvE3zJQ/s288/IMG_0929.jpg" alt="IMG_0929.jpg" width="150" /></a><a title="                               " rel="lightbox-4c568c32975a2" href="http://lh3.ggpht.com/_sRdssb7y3Ss/TFXV1ctszgI/AAAAAAAABoc/8QhBeE7-zmw/IMG_0936.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh3.ggpht.com/_sRdssb7y3Ss/TFXV1ctszgI/AAAAAAAABoc/8QhBeE7-zmw/s288/IMG_0936.jpg" alt="IMG_0936.jpg" width="150" /></a><a title="                               " rel="lightbox-4c568c32975a2" href="http://lh6.ggpht.com/_sRdssb7y3Ss/TFXV11UJBaI/AAAAAAAABog/gr1hQHY18WI/IMG_0950.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh6.ggpht.com/_sRdssb7y3Ss/TFXV11UJBaI/AAAAAAAABog/gr1hQHY18WI/s288/IMG_0950.jpg" alt="IMG_0950.jpg" width="150" /></a><a title="                               " rel="lightbox-4c568c32975a2" href="http://lh5.ggpht.com/_sRdssb7y3Ss/TFXV211QycI/AAAAAAAABoo/FZVx93bavYo/IMG_0961.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh5.ggpht.com/_sRdssb7y3Ss/TFXV211QycI/AAAAAAAABoo/FZVx93bavYo/s288/IMG_0961.jpg" alt="IMG_0961.jpg" width="150" /></a><a title="                               " rel="lightbox-4c568c32975a2" href="http://lh5.ggpht.com/_sRdssb7y3Ss/TFXV3cMO06I/AAAAAAAABos/21YSH7HIhC4/IMG_0963.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh5.ggpht.com/_sRdssb7y3Ss/TFXV3cMO06I/AAAAAAAABos/21YSH7HIhC4/s288/IMG_0963.jpg" alt="IMG_0963.jpg" width="150" /></a><a title="                               " rel="lightbox-4c568c32975a2" href="http://lh5.ggpht.com/_sRdssb7y3Ss/TFXWCJVP7DI/AAAAAAAABqA/RGBO3VQXid0/IMG_1045.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh5.ggpht.com/_sRdssb7y3Ss/TFXWCJVP7DI/AAAAAAAABqA/RGBO3VQXid0/s288/IMG_1045.jpg" alt="IMG_1045.jpg" width="150" /></a></div><div class='clear'></div></p>
<p style="text-align: left;"><strong>Monday, </strong>26th of July</p>
<p style="text-align: left;">On Monday we took it fairly easy. We went to the cinema that was close to the hotel and saw the latest Shrek film. Afterwards we explored some more and went to the shopping centre and visited the Bullring shopping mall.</p>
<p style="text-align: left;"><div class='aligncenter' style='text-align:center' > <a title="                               " rel="lightbox-4c568d631ef9f" href="http://lh6.ggpht.com/_sRdssb7y3Ss/TFXV09h1SLI/AAAAAAAABoY/afh8qvE3zJQ/IMG_0929.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh6.ggpht.com/_sRdssb7y3Ss/TFXV09h1SLI/AAAAAAAABoY/afh8qvE3zJQ/s288/IMG_0929.jpg" alt="IMG_0929.jpg" width="150" /></a><a title="                               " rel="lightbox-4c568d631ef9f" href="http://lh5.ggpht.com/_sRdssb7y3Ss/TFXV8PCz8ZI/AAAAAAAABpI/0HHGq9MPegs/IMG_0993.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh5.ggpht.com/_sRdssb7y3Ss/TFXV8PCz8ZI/AAAAAAAABpI/0HHGq9MPegs/s288/IMG_0993.jpg" alt="IMG_0993.jpg" width="150" /></a><a title="                               " rel="lightbox-4c568d631ef9f" href="http://lh4.ggpht.com/_sRdssb7y3Ss/TFXV9Hz6P-I/AAAAAAAABpQ/dB9WGctNJQo/IMG_1000.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh4.ggpht.com/_sRdssb7y3Ss/TFXV9Hz6P-I/AAAAAAAABpQ/dB9WGctNJQo/s288/IMG_1000.jpg" alt="IMG_1000.jpg" width="150" /></a></div><div class='clear'></div></p>
<p style="text-align: left;"><strong>Tuesday,</strong> 27th of July</p>
<p style="text-align: left;">I had thought it was a great idea to visit the Thinktank Science Museum. From the few things I had seen and read it had looked like a good way to spend our time. After quite a bit of a walk and following sign posts, we finally found <em>Millenium Point</em>. Once we were inside we discovered I had severely misjudged the intended audience. It was aimed at the&#8230; younger audience. We spent a bit of time there, but quickly decided on visiting the IMAX theatre right next to it. We got some tickets for Toy Story and to my surprise I actually loved the film! I&#8217;ll just say: Spanish Buzz ftw!</p>
<p style="text-align: left;"><strong>Wednesday,</strong> 28th of July</p>
<p style="text-align: left;">Even before I flew to Birmingham I had decided I wanted to visit Aston Hall. So on Wednesday we went to New Street station and find out how we would get to Aston. Our timing was great as we were just in time to hop on board of a train that was ready to depart. I think it was only a 5-10 minute ride to Aston and after a short walk we found ourselves at the entrance of Aston Hall. I quite enjoyed the trip there. I love visiting old places with so much history!</p>
<p style="text-align: left;"><div class='aligncenter' style='text-align:center' > <a title="                               " rel="lightbox-4c568f8e444ad" href="http://lh3.ggpht.com/_sRdssb7y3Ss/TFXV-EfZ0bI/AAAAAAAABpc/qp1ysJtk1gY/IMG_1011.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh3.ggpht.com/_sRdssb7y3Ss/TFXV-EfZ0bI/AAAAAAAABpc/qp1ysJtk1gY/s288/IMG_1011.jpg" alt="IMG_1011.jpg" width="150" /></a><a title="                               " rel="lightbox-4c568f8e444ad" href="http://lh6.ggpht.com/_sRdssb7y3Ss/TFXWAcw_NOI/AAAAAAAABpw/fUqCBAKOlBE/IMG_1039.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh6.ggpht.com/_sRdssb7y3Ss/TFXWAcw_NOI/AAAAAAAABpw/fUqCBAKOlBE/s288/IMG_1039.jpg" alt="IMG_1039.jpg" width="150" /></a><a title="                               " rel="lightbox-4c568f8e444ad" href="http://lh4.ggpht.com/_sRdssb7y3Ss/TFXWAwWTllI/AAAAAAAABp0/V_jvKrWOZlg/IMG_1041.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh4.ggpht.com/_sRdssb7y3Ss/TFXWAwWTllI/AAAAAAAABp0/V_jvKrWOZlg/s288/IMG_1041.jpg" alt="IMG_1041.jpg" width="150" /></a></div><div class='clear'></div></p>
<p style="text-align: left;"><strong>Thursday,</strong> 29th of July</p>
<p style="text-align: left;">I hadn&#8217;t originally intended to visit Warwick Castle, but when we were in Birmingham we found out that it was only a half hour train ride to Warwick. According to the receptionist at the hotel it should have been a 15 minute walk from the station to the Castle itself. We decided to be a little adventurous and find out. We had no clue where the castle was located, just that it should be close to the Warwick train station. When we were in the train we already had to make a decision; do we get off at Warwick or Warwick Parkway? We didn&#8217;t know and we had to guess. We settled for getting off at Warwick and just wait and see. Turned out our guess was correct and from there on it was just a matter of following sign posts.</p>
<p style="text-align: left;"><div class='aligncenter' style='text-align:center' > <a title="                               " rel="lightbox-4c5691d0cf050" href="http://lh5.ggpht.com/_sRdssb7y3Ss/TFXWE1EYstI/AAAAAAAABqY/KD_Dt9lko8Y/IMG_1073.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh5.ggpht.com/_sRdssb7y3Ss/TFXWE1EYstI/AAAAAAAABqY/KD_Dt9lko8Y/s288/IMG_1073.jpg" alt="IMG_1073.jpg" width="150" /></a><a title="                               " rel="lightbox-4c5691d0cf050" href="http://lh3.ggpht.com/_sRdssb7y3Ss/TFXWHC3lLqI/AAAAAAAABqs/0P_y3E6yGCI/IMG_1094.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh3.ggpht.com/_sRdssb7y3Ss/TFXWHC3lLqI/AAAAAAAABqs/0P_y3E6yGCI/s288/IMG_1094.jpg" alt="IMG_1094.jpg" width="150" /></a><a title="                               " rel="lightbox-4c5691d0cf050" href="http://lh5.ggpht.com/_sRdssb7y3Ss/TFXWH-c4ScI/AAAAAAAABq0/naaaSgchGZ8/IMG_1119.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh5.ggpht.com/_sRdssb7y3Ss/TFXWH-c4ScI/AAAAAAAABq0/naaaSgchGZ8/s288/IMG_1119.jpg" alt="IMG_1119.jpg" width="150" /></a><a title="                               " rel="lightbox-4c5691d0cf050" href="http://lh3.ggpht.com/_sRdssb7y3Ss/TFXWJZR4wtI/AAAAAAAABrE/qw9S70Dk-iE/IMG_1142.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh3.ggpht.com/_sRdssb7y3Ss/TFXWJZR4wtI/AAAAAAAABrE/qw9S70Dk-iE/s288/IMG_1142.jpg" alt="IMG_1142.jpg" width="150" /></a><a title="                               " rel="lightbox-4c5691d0cf050" href="http://lh4.ggpht.com/_sRdssb7y3Ss/TFXWJ_03IjI/AAAAAAAABrI/BlfwuFfC6S4/IMG_1145.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh4.ggpht.com/_sRdssb7y3Ss/TFXWJ_03IjI/AAAAAAAABrI/BlfwuFfC6S4/s288/IMG_1145.jpg" alt="IMG_1145.jpg" width="150" /></a><a title="                               " rel="lightbox-4c5691d0cf050" href="http://lh3.ggpht.com/_sRdssb7y3Ss/TFXWKUhANiI/AAAAAAAABrM/Kg7pboZZlnQ/IMG_1147.jpg" rel="lightbox[767]"><img class="alignnone" title="                               " src="http://lh3.ggpht.com/_sRdssb7y3Ss/TFXWKUhANiI/AAAAAAAABrM/Kg7pboZZlnQ/s288/IMG_1147.jpg" alt="IMG_1147.jpg" width="150" /></a></div><div class='clear'></div></p>
<p style="text-align: left;">The day out in the castle was great and I think it was one of the best days of the week. The Jousting impressed me the most and I found it the most entertaining part of the day. However, that can be related to the fact that only just before we watched the jousting we had queued for about 15 minutes at a stand to get a coke and an ice cream!</p>
<p style="text-align: left;"><strong>Friday, </strong>30th of July</p>
<p style="text-align: left;">On our last full day together we just decided to relax and do whatever we felt like doing. We ended up going to the cinema again to see Inception. The film was a little confusing initially, but it turned out to be very good once I got settled into the plot lines. Afterwards we went to the shopping centre again to buy new shoes for me. I had trudged around in my shoes for an entire week and I got so fed up with &#8216;em that I decided to buy new shoes on the spot. Eventually after having visited a few shoe shops I settled for getting a new pair of Puma&#8217;s. I&#8217;m very pleased I got that pair of shoes, they&#8217;re incredibly comfy so far!</p>
<p style="text-align: left;"><strong>Saturday, </strong>31st of July.</p>
<p style="text-align: left;">The dreaded day of my trip home. Not a very nice day at all, as I had to say goodbye to my girl, not knowing when we&#8217;d see each other again. It&#8217;s very strange to be back in The Netherlands, alone, after having spent a week of doing all sorts of stuff in her company. My trip home was fairly uneventful and boring, except for the train ride between <em>The Hague</em> and <em>Rotterdam</em>, where a noisy bunch of folks decided to hang around in the area I was sitting in.</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.storminajar.net/2010/08/02/there-and-back-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Here we go&#8230; again!</title>
		<link>http://www.storminajar.net/2010/07/23/here-we-go-again/</link>
		<comments>http://www.storminajar.net/2010/07/23/here-we-go-again/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 18:45:04 +0000</pubDate>
		<dc:creator>Grognak</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Vacation]]></category>

		<guid isPermaLink="false">http://www.storminajar.net/?p=761</guid>
		<description><![CDATA[Early tomorrow morning I&#8217;m flying to England again, for a little holiday with my girlfriend. It&#8217;s expected to be busy on the airport, so all travellers are advised to arrive a bit earlier than usual due to longer waiting times. This means I&#8217;ll have to get up early! And with early, I mean really early! [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.storminajar.net/wp-content/uploads/2010/07/airplane.jpg" rel="lightbox[761]"><img class="aligncenter size-full wp-image-762" title="KLM Airplane" src="http://www.storminajar.net/wp-content/uploads/2010/07/airplane.jpg" alt="" width="590" height="194" /></a></p>
<p>Early tomorrow morning I&#8217;m flying to England again, for a little holiday with my girlfriend. It&#8217;s expected to be busy on the airport, so all travellers are advised to arrive a bit earlier than usual due to longer waiting times. This means I&#8217;ll have to get up <em>early</em>! And with early, I mean <em>really early</em>! Looks like it&#8217;ll have to be around 5:00 in the morning! <em>Yes, I&#8217;m glaring at you, honey! </em>But, it doesn&#8217;t matter! We&#8217;re going to have a nice (too short) week together!</p>
<p>See you all when I return from my trip! /wave</p>
]]></content:encoded>
			<wfw:commentRss>http://www.storminajar.net/2010/07/23/here-we-go-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>36/40: Hero of the Zandalar Tribe!</title>
		<link>http://www.storminajar.net/2010/07/21/3640-hero-of-the-zandalar-tribe/</link>
		<comments>http://www.storminajar.net/2010/07/21/3640-hero-of-the-zandalar-tribe/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 07:29:49 +0000</pubDate>
		<dc:creator>Grognak</dc:creator>
				<category><![CDATA[World of Warcraft]]></category>

		<guid isPermaLink="false">http://www.storminajar.net/?p=749</guid>
		<description><![CDATA[Slowly, but surely, I&#8217;m working my way towards 40 exalted reputations. Thanks to my lovely girlfriend, the Zandalar Tribe decided I have accumulated enough worth to become one of their heroes. This means I&#8217;m only four reputations away from The Exalted. I have been looking through the reputation list and I can&#8217;t quite decide which [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.storminajar.net/wp-content/uploads/2010/07/ding.jpg" rel="lightbox[749]"><img class="alignleft size-medium wp-image-747" title="ding" src="http://www.storminajar.net/wp-content/uploads/2010/07/ding-185x300.jpg" alt="" width="185" height="300" /></a>Slowly, but surely, I&#8217;m working my way towards 40 exalted reputations. Thanks to my lovely girlfriend, the Zandalar Tribe decided I have accumulated enough worth to become one of their heroes.</p>
<p style="text-align: left;"><a href="http://www.storminajar.net/wp-content/uploads/2010/07/hero_of_zandalar.jpg" rel="lightbox[749]"></a><a href="http://www.storminajar.net/wp-content/uploads/2010/07/hero_of_zandalar.jpg" rel="lightbox[749]"><img class="aligncenter size-full wp-image-748" title="hero_of_zandalar" src="http://www.storminajar.net/wp-content/uploads/2010/07/hero_of_zandalar.jpg" alt="" width="414" height="64" /></a><br />
This means I&#8217;m only four reputations away from <em>The Exalted</em>. I have been looking through the reputation list and I can&#8217;t quite decide which reputations I should start going for next. The Kalu&#8217;ak and Ogri&#8217;la are still waiting to be completed. I just have an aversion for doing daily quests&#8230; daily. That&#8217;s not really an option. Then there&#8217;s these reputations that require doing Vanilla or TBC raids. I&#8217;m not sure if that&#8217;s an option right now either.</p>
<p>There aren&#8217;t many options left. I&#8217;m considering the idea to have a go at raising my reputation with the goblins. It looks like a serious mind numbing grind. However, it raises four reputations at once. This would mean I can get my title by doing a single grind. It looks tempting, but I haven&#8217;t tried doing the repeatable quests yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.storminajar.net/2010/07/21/3640-hero-of-the-zandalar-tribe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
