<?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>Blog of developer Mikkel Ovesen</title>
	<atom:link href="http://blog.ovesens.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ovesens.net</link>
	<description>My thoughts, stuff I need to remember or things I just want to share with the world</description>
	<lastBuildDate>Thu, 27 May 2010 12:02:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Async Httphandlers in ASP.NET</title>
		<link>http://blog.ovesens.net/2010/05/async-httphandlers-in-asp-net/</link>
		<comments>http://blog.ovesens.net/2010/05/async-httphandlers-in-asp-net/#comments</comments>
		<pubDate>Thu, 27 May 2010 11:57:44 +0000</pubDate>
		<dc:creator>Mikkel Ovesen</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[async]]></category>
		<category><![CDATA[httphandler]]></category>
		<category><![CDATA[thread]]></category>
		<category><![CDATA[threading]]></category>

		<guid isPermaLink="false">http://blog.ovesens.net/?p=235</guid>
		<description><![CDATA[What is the correct way to create a httphandler that potentially can take time and resources to complete.
Well this article explains it very well:
 http://msdn.microsoft.com/en-us/magazine/cc164128.aspx
If you don&#8217;t want to read all, you find the best solution in the bottom of the article.
But you can also find the code here, download this library C# Threadpool.
AsyncRequest
class AsyncRequest
{
  [...]]]></description>
			<content:encoded><![CDATA[<p>What is the correct way to create a httphandler that potentially can take time and resources to complete.</p>
<p>Well this article explains it very well:<br />
<a href="http://msdn.microsoft.com/en-us/magazine/cc164128.aspx" target="_blank"> http://msdn.microsoft.com/en-us/magazine/cc164128.aspx</a></p>
<p>If you don&#8217;t want to read all, you find the best solution in the bottom of the article.</p>
<p>But you can also find the code here, download this library <a href="http://blog.ovesens.net/wp-content/uploads/2010/05/threadpool.zip">C# Threadpool</a>.</p>
<h2>AsyncRequest</h2>
<pre id="ctl00_MTContentSelector1_mainContentContainer_ctl33_ctl00_ctl00_code">class AsyncRequest
{
  private AsyncRequestState _asyncRequestState;

  public AsyncRequest(AsyncRequestState ars)
  {
    _asyncRequestState = ars;
  }

  public void ProcessRequest()
  {
    // This is where the non-cpu-bound activity would take place, such as
    // accessing a Web Service, polling a slow piece of hardware, or
    // performing a lengthy database operation. I put the thread to sleep
    // for two seconds to simulate a lengthy operation.
    Thread.Sleep(2000);

    _asyncRequestState._ctx.Response.Output.Write(
            "AsyncThread, {0}",
            AppDomain.GetCurrentThreadId());

    // tell asp.net I am finished processing this request
    _asyncRequestState.CompleteRequest();
  }
}</pre>
<h2>AsyncHandler</h2>
<pre id="ctl00_MTContentSelector1_mainContentContainer_ctl35_ctl00_ctl00_code">namespace EssentialAspDotNet.HttpPipeline
{
  // AsyncRequestState and AsyncRequest remain the same
  // as in the previous example

  public class AsyncHandler : IHttpAsyncHandler
  {
    static DevelopMentor.ThreadPool _threadPool;

    static AsyncHandler()
    {
      _threadPool =
        new DevelopMentor.ThreadPool(2, 25, "AsyncPool");
      _threadPool.PropogateCallContext = true;
      _threadPool.PropogateThreadPrincipal = true;
      _threadPool.PropogateHttpContext = true;
      _threadPool.Start();
    }

    public void ProcessRequest(HttpContext ctx)
    {
     // not used
    }

    public bool IsReusable
    {
      get { return false;}
    }

    public IAsyncResult BeginProcessRequest(HttpContext ctx,
                     AsyncCallback cb, object obj)
    {
      AsyncRequestState reqState =
                     new AsyncRequestState(ctx, cb, obj);
      _threadPool.PostRequest(
                     new DevelopMentor.WorkRequestDelegate(ProcessRequest),
                     reqState);

      return reqState;
    }

    public void EndProcessRequest(IAsyncResult ar)
    {
    }

    void ProcessRequest(object state, DateTime requestTime)
    {
      AsyncRequestState reqState = state as AsyncRequestState;

      // Take some time to do it
      Thread.Sleep(2000);

      reqState._ctx.Response.Output.Write(
                   "AsyncThreadPool, {0}",
                    AppDomain.GetCurrentThreadId);

      // tell asp.net you are finished processing this request
      reqState.CompleteRequest();
    }

  }
}</pre>
<h2>AsyncPage</h2>
<pre>namespace EssentialAspDotNet.HttpPipeline
{
 public class AsyncPage : Page, IHttpAsyncHandler
  {
    static protected DevelopMentor.ThreadPool _threadPool;

    static AsyncPage()
    {
      _threadPool =
       new DevelopMentor.ThreadPool(2, 25, "AsyncPool");
      _threadPool.PropogateCallContext = true;
      _threadPool.PropogateThreadPrincipal = true;
      _threadPool.PropogateHttpContext = true;
      _threadPool.Start();
    }

    public new void ProcessRequest(HttpContext ctx)
    {
      // not used
    }

    public new bool IsReusable
    {
      get { return false;}
    }

    public IAsyncResult BeginProcessRequest(HttpContext ctx,
                                            AsyncCallback cb, object obj)
    {
      AsyncRequestState reqState =
             new AsyncRequestState(ctx, cb, obj);
      _threadPool.PostRequest(
             new DevelopMentor.WorkRequestDelegate(ProcessRequest),
             reqState);

      return reqState;
    }

    public void EndProcessRequest(IAsyncResult ar)
    {
    }

    void ProcessRequest(object state, DateTime requestTime)
    {
      AsyncRequestState reqState = state as AsyncRequestState;

      // Synchronously call base class Page.ProcessRequest
      // as you are now on a thread pool thread.
      base.ProcessRequest(reqState._ctx);

      // Once complete, call CompleteRequest to finish
      reqState.CompleteRequest();
    }
  }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.ovesens.net/2010/05/async-httphandlers-in-asp-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manually start Visual Studio dev. web server</title>
		<link>http://blog.ovesens.net/2010/03/manually-start-visual-studio-dev-web-server/</link>
		<comments>http://blog.ovesens.net/2010/03/manually-start-visual-studio-dev-web-server/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 10:58:00 +0000</pubDate>
		<dc:creator>Mikkel Ovesen</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[profiling]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[vs]]></category>

		<guid isPermaLink="false">http://blog.ovesens.net/?p=228</guid>
		<description><![CDATA[I needed to manually start the Visual Studio dev. web server for profililng purposes&#8230;
The web server is located here:
C:\Program Files (x86)\Common Files\microsoft shared\DevServer\9.0\WebDev.WebServer.EXE
Arguments



/port:&#60;port number&#62;
Optional, an unused port number between 1 and 65535.


/path:&#60;physical path&#62;
A valid directory where the web application is rooted.


/vpath:&#60;virtual path&#62;
Optional, the virtual path or application root in the form of &#8216;/&#60;app name&#62;&#8217;.



Example
C:\Program Files [...]]]></description>
			<content:encoded><![CDATA[<p>I needed to manually start the Visual Studio dev. web server for profililng purposes&#8230;</p>
<pre>The web server is located here:
C:\Program Files (x86)\Common Files\microsoft shared\DevServer\9.0\WebDev.WebServer.EXE</pre>
<h2>Arguments</h2>
<table border="0" cellspacing="1" cellpadding="3">
<tbody>
<tr>
<td>/port:&lt;port number&gt;</td>
<td>Optional, an unused port number between 1 and 65535.</td>
</tr>
<tr>
<td>/path:&lt;physical path&gt;</td>
<td>A valid directory where the web application is rooted.</td>
</tr>
<tr>
<td>/vpath:&lt;virtual path&gt;</td>
<td>Optional, the virtual path or application root in the form of &#8216;/&lt;app name&gt;&#8217;.</td>
</tr>
</tbody>
</table>
<h2>Example</h2>
<pre>C:\Program Files (x86)\Common Files\microsoft shared\DevServer\9.0&gt;
WebDev.WebServer.EXE /port:8080 /path:"C:\Users\Administrator\Documents\Visual Studio 2008\Projects\WebApplication\Compiled" \vpath:"\"</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.ovesens.net/2010/03/manually-start-visual-studio-dev-web-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Sitemap .NET links</title>
		<link>http://blog.ovesens.net/2010/03/google-sitemap-net-links/</link>
		<comments>http://blog.ovesens.net/2010/03/google-sitemap-net-links/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 19:40:44 +0000</pubDate>
		<dc:creator>Mikkel Ovesen</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[sitemap]]></category>

		<guid isPermaLink="false">http://blog.ovesens.net/?p=226</guid>
		<description><![CDATA[Some links with information about creating a Google Sitemap either directly in XML or via some .NET code.
http://gerardmcgarry.com/blog/creating-a-google-sitemap-aspnet-website
http://www.codeproject.com/KB/aspnet/GoogleSiteMapProvider.aspx
]]></description>
			<content:encoded><![CDATA[<p>Some links with information about creating a Google Sitemap either directly in XML or via some .NET code.</p>
<p><a href="http://gerardmcgarry.com/blog/creating-a-google-sitemap-aspnet-website" target="_blank">http://gerardmcgarry.com/blog/creating-a-google-sitemap-aspnet-website</a></p>
<p><a href="http://www.codeproject.com/KB/aspnet/GoogleSiteMapProvider.aspx" target="_blank">http://www.codeproject.com/KB/aspnet/GoogleSiteMapProvider.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ovesens.net/2010/03/google-sitemap-net-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Print Spooler error in Windows 7 (Bootcamp)</title>
		<link>http://blog.ovesens.net/2010/02/print-spooler-error-in-windows-7-bootcamp/</link>
		<comments>http://blog.ovesens.net/2010/02/print-spooler-error-in-windows-7-bootcamp/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 14:19:26 +0000</pubDate>
		<dc:creator>Mikkel Ovesen</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[bootcamp]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[printer spooler]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://blog.ovesens.net/?p=218</guid>
		<description><![CDATA[I found this blog post, which solved my problem regarding being unable to print on my Windows 7 MacBook Pro 13&#8243; using Bootcamp.
http://tomgee.us/?p=172
This is from the original blog post (thanks to Tom Gee):
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
The problem
Today, when I booted directly into my Windows 7 partition (not via VMWare), I noticed that I couldn’t print anything anymore.
I checked [...]]]></description>
			<content:encoded><![CDATA[<p>I found this blog post, which solved my problem regarding being unable to print on my Windows 7 MacBook Pro 13&#8243; using Bootcamp.</p>
<p><a href="http://tomgee.us/?p=172" target="_blank">http://tomgee.us/?p=172</a></p>
<p>This is from the original blog post (thanks to Tom Gee):</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<h2>The problem</h2>
<p>Today, when I booted directly into my Windows 7 partition (not via VMWare), I noticed that I couldn’t print anything anymore.</p>
<p>I checked the Event Viewer and found the following error in the System log:<br />
The Print Spooler service terminated unexpectedly.</p>
<p>In the Application section of the Event Viewer, I found the following:</p>
<pre>Faulting application name: spoolsv.exe, version: 6.1.7600.16385, time stamp: 0×4a5bd3d1
Faulting module name: TPVMMon.dll, version: 2.0.51.5, time stamp: 0×48359080
Exception code: 0xc0000005
Fault offset: 0×000000000000846e
Faulting process id: 0×1300
Faulting application start time: 0×01caa2aa2c4394d8
Faulting application path: C:\Windows\System32\spoolsv.exe
Faulting module path: C:\Windows\System32\TPVMMon.dll
Report Id: 7188e318-0e9d-11df-9123-895fd79b6e49
Faulting application name: spoolsv.exe, version: 6.1.7600.16385, time stamp: 0×4a5bd3d1Faulting module name: TPVMMon.dll, version: 2.0.51.5, time stamp: 0×48359080Exception code: 0xc0000005Fault offset: 0×000000000000846eFaulting process id: 0×1300Faulting application start time: 0×01caa2aa2c4394d8Faulting application path: C:\Windows\System32\spoolsv.exeFaulting module path: C:\Windows\System32\TPVMMon.dllReport Id: 7188e318-0e9d-11df-9123-895fd79b6e49</pre>
<p>The only thing I could attribute the Print Spooler issue to was VMWare Fusion.</p>
<p>I tried uninstalling the VMWare Tools program listed in the Control Panel &gt; Uninstall Program section, but it would not remove.</p>
<p>No errors were displayed, but the program wouldn’t remove from the Programs list.</p>
<h2>The solution</h2>
<p>I deleted the following folder (and all related subkeys) from the Registry (via Start &gt; Run &gt; regedit):</p>
<p>[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Print\Monitors\ThinPrint Print Port Monitor for VMWare]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ovesens.net/2010/02/print-spooler-error-in-windows-7-bootcamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Resource localization</title>
		<link>http://blog.ovesens.net/2010/02/net-resource-localization/</link>
		<comments>http://blog.ovesens.net/2010/02/net-resource-localization/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 17:17:45 +0000</pubDate>
		<dc:creator>Mikkel Ovesen</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[localization]]></category>
		<category><![CDATA[resources]]></category>

		<guid isPermaLink="false">http://blog.ovesens.net/2010/02/net-resource-localization/</guid>
		<description><![CDATA[ResourceBlender is open source and works for .NET:
http://www.resourceblender.com/
]]></description>
			<content:encoded><![CDATA[<p>ResourceBlender is open source and works for .NET:</p>
<p><a href="http://www.resourceblender.com/" target="_blank">http://www.resourceblender.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ovesens.net/2010/02/net-resource-localization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IETester 0.4.2</title>
		<link>http://blog.ovesens.net/2010/02/ietester-0-4-2/</link>
		<comments>http://blog.ovesens.net/2010/02/ietester-0-4-2/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 15:02:25 +0000</pubDate>
		<dc:creator>Mikkel Ovesen</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ietester]]></category>

		<guid isPermaLink="false">http://blog.ovesens.net/?p=212</guid>
		<description><![CDATA[Usually when I need to test a HTML design, I use Spoon browsers&#8230; but I saw this IE Tester 0.4.2 tool.
This is just to remind me, don&#8217;t install, it made the JavaScript of Gmail and other sites fail.
So, stick to Spoon, don&#8217;t use IETester 0.4.2.
]]></description>
			<content:encoded><![CDATA[<p>Usually when I need to test a HTML design, I use Spoon browsers&#8230; but I saw this IE Tester 0.4.2 tool.</p>
<p>This is just to remind me, don&#8217;t install, it made the JavaScript of Gmail and other sites fail.</p>
<p>So, stick to Spoon, don&#8217;t use IETester 0.4.2.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ovesens.net/2010/02/ietester-0-4-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2008 debugging and breakpoints</title>
		<link>http://blog.ovesens.net/2010/01/visual-studio-2008-debugging-and-breakpoints/</link>
		<comments>http://blog.ovesens.net/2010/01/visual-studio-2008-debugging-and-breakpoints/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 08:38:32 +0000</pubDate>
		<dc:creator>Mikkel Ovesen</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[debugger]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[vs2008]]></category>

		<guid isPermaLink="false">http://blog.ovesens.net/?p=207</guid>
		<description><![CDATA[My development tools are currently Visual Studio 2008, Resharper 4.5, Gallio and Testdriven.NET. But for as long as I have used these tools, my Visual Studio debugger has only worked partly.
The problem
When I inserted some breakpoints in my code, the first one was almost all the time hit. However, when I tried to step through the [...]]]></description>
			<content:encoded><![CDATA[<p>My development tools are currently <a href="http://msdn.microsoft.com/en-us/vstudio/default.aspx" target="_blank">Visual Studio 2008</a>, <a href="http://www.jetbrains.com/resharper/index.html" target="_blank">Resharper 4.5</a>, <a href="http://www.gallio.org/" target="_blank">Gallio</a> and <a href="http://www.testdriven.net/" target="_blank">Testdriven.NET</a>. But for as long as I have used these tools, my Visual Studio debugger has only worked partly.</p>
<h2>The problem</h2>
<p>When I inserted some breakpoints in my code, the first one was almost all the time hit. However, when I tried to step through the code, it worked fine for a bout 3-6 steps. But then Visual Studio debugger decided that was enough, and just completed the code.</p>
<p>The good thing was, it forced me to write many unit test cases, but sometimes I really think it is nice to visually see the state of your objects, in the code.</p>
<p>I have spoken to colleagues, and tested with different combinations of Gallio, Testdriven.NET and Re-sharper enabled, as I thought they cased the problem. But the debugger just kept bugging me. I had actually given up finding a solution to this problem, thinking that Visual Studio 2010 would fix it.</p>
<h2>The solution</h2>
<p>So finally, in a complete other context, I stumbled upon this page:</p>
<p><a href="http://code.msdn.microsoft.com/KB957912" target="_blank">http://code.msdn.microsoft.com/KB957912</a></p>
<p>And thought&#8230;. that title sounds interesting&#8230; I quickly moved to the <a href="http://support.microsoft.com/kb/957912" target="_blank">KB article</a>, and started to read. I thought, that sounds exactly as my problem.</p>
<p>With nothing to loose I installed the update, and started to test the debugger&#8230; until now it seems to work <img src='http://blog.ovesens.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>- please note, I do not use the debugger that often as I write very reliable code <img src='http://blog.ovesens.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ovesens.net/2010/01/visual-studio-2008-debugging-and-breakpoints/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Must read and references</title>
		<link>http://blog.ovesens.net/2010/01/must-read-and-references/</link>
		<comments>http://blog.ovesens.net/2010/01/must-read-and-references/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 13:56:11 +0000</pubDate>
		<dc:creator>Mikkel Ovesen</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[nh]]></category>
		<category><![CDATA[nhibernate]]></category>
		<category><![CDATA[read]]></category>
		<category><![CDATA[reference]]></category>

		<guid isPermaLink="false">http://blog.ovesens.net/2010/01/must-read-and-references/</guid>
		<description><![CDATA[Read:
http://davybrion.com/blog/2009/12/using-nhibernate-in-your-service-layer/
Reference:
http://west-wind.com/weblog/posts/132081.aspx
]]></description>
			<content:encoded><![CDATA[<p>Read:<br />
<a href="http://davybrion.com/blog/2009/12/using-nhibernate-in-your-service-layer/" target="_blank">http://davybrion.com/blog/2009/12/using-nhibernate-in-your-service-layer/</a></p>
<p>Reference:<br />
<a href="http://west-wind.com/weblog/posts/132081.aspx" target="_blank">http://west-wind.com/weblog/posts/132081.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ovesens.net/2010/01/must-read-and-references/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test of online backup providers</title>
		<link>http://blog.ovesens.net/2010/01/test-of-online-backup-providers/</link>
		<comments>http://blog.ovesens.net/2010/01/test-of-online-backup-providers/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 17:45:18 +0000</pubDate>
		<dc:creator>Mikkel Ovesen</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[online backup]]></category>
		<category><![CDATA[synchronize]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.ovesens.net/?p=198</guid>
		<description><![CDATA[I have a Windows server that I use as a development and testing server. Besides that it also hosts my Subversion repository.
Being a developer, my subversion repository is of great value to me. I have therefor been looking for different online backup providers. My requirements are:

Must run in a Windows server environment
Preferably free or rather [...]]]></description>
			<content:encoded><![CDATA[<p>I have a Windows server that I use as a development and testing server. Besides that it also hosts my Subversion repository.</p>
<p>Being a developer, my subversion repository is of great value to me. I have therefor been looking for different online backup providers. My requirements are:</p>
<ul>
<li>Must run in a Windows server environment</li>
<li>Preferably free or rather cheap</li>
<li>Must run autonomously</li>
<li>2-3 GB of space</li>
<li>Secure</li>
<li>Low frequency of errors</li>
</ul>
<h2>Dropbox</h2>
<p>Dropbox provides you with a 2GB free account and works both for Windows and Mac. However it only supports backing/synchronizing one folder.</p>
<h2>SugarSync</h2>
<p>SugarSync is actually ok and has a nice IPhone app. They provide a 2GB free plan, and I am currently using them in another context. However, they are a bit pricy compared to others.</p>
<h2>IDrive</h2>
<p>They also provides you with a 2GB free plan. They work alright and have some friendly support people, however their Windows application seems buggy. I have tested the application on 3 different Windows machines, and at first everything works fine&#8230; but at some point the software just stops backing up. It seems like the schedule part is broken.</p>
<p>The free plan can also be used on Windows server versions, which is nice.</p>
<h2>Mozy</h2>
<p>Mozy provides, like the rest, a 2 GB free plan. The software works fine, however not on Windows server versions.</p>
<p>Another thing to note is, if you need to backup a large number of files then Mozy will consume a large portion of you memory accordingly. I have experienced Mozy consuming 400-450 MB of ram.</p>
<h2>Memopal</h2>
<p>After testing the other providers I found Memopal. They provide a 3GB free account, which is more than the others. Their application runs among others on Mac, Linux and Windows, including a server environment.</p>
<p>As Memopal initially almost satisfies all of my requirements, I was hopeful <img src='http://blog.ovesens.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Unfortunately Memopal would not back files up larger than 20MB, as their limit should be <a href="http://www.memopal.com/en/supportfaq/what-is-the-maximum-size-for-files-saved-on-memopal.htm" target="_blank">5GB per file</a>, it must be some kind of error with the software. All the smaller files were backup without problems.</p>
<p>As I was backing my Subversion server files up some directories are just called &#8220;0&#8243;, &#8220;1&#8243;, &#8220;2&#8243; etc. it looks like Memopal does not support these folder names, I was not able to retrieve these folders from their web interface.</p>
<h2>Conclusion</h2>
<p>So this leaves me with nothing&#8230; or I am settling with IDrive and hoping that the errors in the software will be fixed. But I will keep looking for a good and reliable online backup software.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ovesens.net/2010/01/test-of-online-backup-providers/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>iVPN on Mac OSX 10.4 (Tiger)</title>
		<link>http://blog.ovesens.net/2010/01/ivpn-on-mac-osx-10-4-tiger/</link>
		<comments>http://blog.ovesens.net/2010/01/ivpn-on-mac-osx-10-4-tiger/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 14:15:25 +0000</pubDate>
		<dc:creator>Mikkel Ovesen</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[hamachi]]></category>
		<category><![CDATA[hamachix]]></category>
		<category><![CDATA[ivpn]]></category>
		<category><![CDATA[mac osx]]></category>
		<category><![CDATA[pptp]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[vpn server]]></category>

		<guid isPermaLink="false">http://blog.ovesens.net/?p=175</guid>
		<description><![CDATA[I have a Mac mini with Mac OSX 10.4 (Tiger), and I wanted to use this as my home server. Some kind of VPN server was required to give me external access to my files.    
I first read abut iVPN, but I was looking for a free service. I then looked into Hamachi (It looks like LogMeIn har [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.ovesens.net/wp-content/uploads/2010/01/PPTP_MacOsX_firewall.png"></a>I have a Mac mini with Mac OSX 10.4 (Tiger), and I wanted to use this as my home server. Some kind of VPN server was required to give me external access to my files.    </p>
<p>I first read abut iVPN, but I was looking for a free service. I then looked into <a href="https://secure.logmein.com/products/hamachi2/" target="_blank">Hamachi</a> (It looks like LogMeIn har purchased the rights to this software) (<a href="http://hamachix.com/" target="_blank">HamachiX</a>).    </p>
<h2>Hamachi</h2>
<p>As I understand it, Hamachi was free and multi platform until LogMeIn took over. LogMeIn currently only support Windows, but I needed both Mac and Windows to work toghether.    </p>
<p>I then got the latest HamachiX and the free LogMeIn Hamachi2 to work, but the connection kept being dropped after some time. I think it is because HamachiX is based on a legacy version of Hamachi, and LogMeIn Hamachi2 is based on a newer version, and as I do not want to keep loosing my VPN connection, I dropped the idea of Hamachi.    </p>
<h2>iVPN</h2>
<p>Starting from scratch I started to read about other VPN solutions and servers for the client version of Mac OSX. This <a href="http://www.afp548.com/articles/Jaguar/vpnd.html" target="_blank">post</a> explained that a PPTP and L2TP VPN server had been part of all Mac OS since 10.2. It was just not mentioned by Apple nor supported.    </p>
<p>This build in VPN server is what iVPN uses (read more in this <a href="http://tinyapps.org/docs/os_x_vpn_server.html" target="_blank">post</a>), a configuration tool that until version 2.4 was free, but now is commercialware. But as this tool does nothing but configuration, you can download the 2.4 beta version  <a href="http://blog.ovesens.net/wp-content/uploads/2010/01/iVPN-2.4b.zip">here (iVPN 2.4b)</a>.    </p>
<h2>Configuring the VPN server</h2>
<p>As I needed Windows clients to access my Mac mini and due to my current network setup, I chose PPTP as VPN protocol.  The following steps explains what I did to setup the VPN server on Mac OSX 10.4.   </p>
<ol>
<li style="text-align: left;">Download <a href="http://blog.ovesens.net/wp-content/uploads/2010/01/iVPN-2.4b.zip">iVPN-2.4b</a>  (If you need here is the <a href="/wp-content/uploads/2010/01/iVPN-Help-2.4b.pdf">iVPN 2.4b manual</a> and the <a href="/wp-content/uploads/2010/01/iVPN-2.4b-src.zip">iVPN 2.4b source</a>)</li>
<li>Run the iVPN</li>
<li>Click no to the upgrade</li>
<li>Enable the PPTP and disable the L2TP protocol (or enable/disable the protocol you wish to use)</li>
<li>Type in a username and password
<ol>
<li>Do NOT use spaces in the username&#8230;</li>
<li>If you have chosen to use L2TP then write a &#8220;shared secret&#8221;</li>
</ol>
</li>
<li>Type in a IP address range, but make sure it does not conflict with your existing DHCP server setup.</li>
<li>The router is the default gateway and the subnet mask, normally you would use 255.255.255.0</li>
<li>I used the <a href="http://www.opendns.com/" target="_self">OpenDNS</a> for DNS resolution.</li>
<li>Check the &#8220;Start server at boot time&#8221;.</li>
<li>Then click the &#8220;On&#8221; button.</li>
<li>Type in the administration password if required to.</li>
<li>Close iVPN</li>
</ol>
<div id="attachment_181" class="wp-caption alignnone" style="width: 647px"><a href="http://blog.ovesens.net/wp-content/uploads/2010/01/iVPN_interface.png"><img class="size-full wp-image-181" title="iVPN user interface" src="http://blog.ovesens.net/wp-content/uploads/2010/01/iVPN_interface.png" alt="iVPN user interface" width="637" height="450" /></a><p class="wp-caption-text">iVPN application</p></div>
<p> </p>
<h2>Firewall</h2>
<p>Now the VPN server is setup, now you need to open for port 1723 in the firewall.    </p>
<ol>
<li>Open the System preferences in Mac OSX.</li>
<li>Click &#8220;Sharing&#8221; under &#8220;Internet &amp; network&#8221;</li>
<li>Open the &#8220;Firewall&#8221; tab</li>
<li>Click new</li>
<li>Select other in the &#8220;Port name&#8221; and write 1723 in the TCP port</li>
<li>As description write PPTP, VPN server or something else</li>
<li>Click ok and then you should be ready Mac OSX wise.</li>
</ol>
<p><a href="http://blog.ovesens.net/wp-content/uploads/2010/01/PPTP_MacOsX_firewall.png"><img title="Mac OSX PPTP firewall" src="http://blog.ovesens.net/wp-content/uploads/2010/01/PPTP_MacOsX_firewall.png" alt="Mac OSX PPTP firewall" width="495" height="274" /></a>    </p>
<p>Now the only thing left is to open port 1723 in your router. If you have trouble doing that, look into the manual of your router or call the support hotline of your ISP.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ovesens.net/2010/01/ivpn-on-mac-osx-10-4-tiger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
