<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>David Christiansen</title>
    <link>https://davidchristiansen.com</link>
    <description>Shipping software, securing systems, and figuring it out along the way</description>
    <language>en-gb</language>
    <lastBuildDate>Fri, 27 Mar 2026 18:36:38 GMT</lastBuildDate>
    <atom:link href="https://davidchristiansen.com/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Multi-Platform Docker Builds from an M1 Mac Using Your Synology NAS as a Remote Builder</title>
      <link>https://davidchristiansen.com/blog/multiplatform-docker-buildx-synology-nas</link>
      <guid>https://davidchristiansen.com/blog/multiplatform-docker-buildx-synology-nas</guid>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <description>Building multi-arch Docker images from an M1 Mac for an x86 Synology NAS hits a Docker API version mismatch you can&apos;t fix from either end. The workaround is running BuildKit as a standalone container on the NAS and connecting to it as a remote buildx driver.</description>
      <category>DevOps</category>
    </item>
    <item>
      <title>Running OpenClaw on Your Synology NAS — Hardened for Always-On Homelab Use</title>
      <link>https://davidchristiansen.com/blog/openclaw-docker-hardened-homelab</link>
      <guid>https://davidchristiansen.com/blog/openclaw-docker-hardened-homelab</guid>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <description>OpenClaw is upfront about its security model: it&apos;s a personal agent that trusts its operator, and it tells you to harden it before exposing it. This post implements those recommendations as a Portainer stack on a Synology NAS, adding a Squid egress proxy to whitelist outbound domains, Docker secrets for credential isolation, and a read-only root filesystem.</description>
      <category>DevOps</category>
    </item>
    <item>
      <title>HowTo: Run Hyper-V/Docker on Hyper-V Virtual Machine</title>
      <link>https://davidchristiansen.com/blog/run-hyper-v-docker-on-virtual-machine</link>
      <guid>https://davidchristiansen.com/blog/run-hyper-v-docker-on-virtual-machine</guid>
      <pubDate>Thu, 17 Nov 2016 00:00:00 GMT</pubDate>
      <description>TL:DR; On the Hyper-V host run Set-VMProcessor -VMName &quot;&lt;Your Virtual Machine Name&gt;&quot; -ExposeVirtualizationExtensions $true If you are like me, you may run all your Dev Environments from within Virtual...</description>
      <category>DevOps</category>
    </item>
    <item>
      <title>HowTo: Create Self-Signed Certificates with PowerShell</title>
      <link>https://davidchristiansen.com/blog/howto-create-self-signed-certificates-with-powershell</link>
      <guid>https://davidchristiansen.com/blog/howto-create-self-signed-certificates-with-powershell</guid>
      <pubDate>Thu, 08 Sep 2016 00:00:00 GMT</pubDate>
      <description>This is a short post about how to create Self-Signed certificates with the New-SelfSignedCertificate  PowerShell module.  More specifically, this post will cover creating your own Root Certificate, ex...</description>
      <category>Security &amp; Identity</category>
    </item>
    <item>
      <title>Solved: Identity Server v3 and &apos;Invalid provider type specified&apos; CngKey private key errors</title>
      <link>https://davidchristiansen.com/blog/solved-identity-server-v3-invalid-provider-type-cngkey-private-key-errors</link>
      <guid>https://davidchristiansen.com/blog/solved-identity-server-v3-invalid-provider-type-cngkey-private-key-errors</guid>
      <pubDate>Wed, 11 May 2016 00:00:00 GMT</pubDate>
      <description>In the scenario described in this post, you have encountered an error in your log that says the following: &gt; Signing certificate has not private key or private key is not accessible. Make sure the acc...</description>
      <category>Security &amp; Identity</category>
    </item>
    <item>
      <title>Fix: Blurred text in Office 2016 (Skype for Business 2016)</title>
      <link>https://davidchristiansen.com/blog/fix-blurred-text-in-office-2016-skype-for-business-2016</link>
      <guid>https://davidchristiansen.com/blog/fix-blurred-text-in-office-2016-skype-for-business-2016</guid>
      <pubDate>Mon, 07 Dec 2015 00:00:00 GMT</pubDate>
      <description>Just a heads up.  If after you install Office 2016 you discover that the Skype For Business UI displays with horrendous burred font and scaling issues, then I may have a fix for you. The fix is rather...</description>
      <category>Development</category>
    </item>
    <item>
      <title>HowTo: Clear Nuget cache on a build server</title>
      <link>https://davidchristiansen.com/blog/clear-nuget-cache-on-build-server</link>
      <guid>https://davidchristiansen.com/blog/clear-nuget-cache-on-build-server</guid>
      <pubDate>Fri, 29 May 2015 00:00:00 GMT</pubDate>
      <description>Do you need to clear the Nuget cache on a build server which runs as a windows service? Simply navigate to the nuget cache store which is located in the temp directory for the system service accounts....</description>
      <category>DevOps</category>
    </item>
    <item>
      <title>HowTo: Use self-signed certificates during Windows Apps development (no code required)</title>
      <link>https://davidchristiansen.com/blog/self-signed-certificates-windows-apps-development</link>
      <guid>https://davidchristiansen.com/blog/self-signed-certificates-windows-apps-development</guid>
      <pubDate>Tue, 16 Dec 2014 00:00:00 GMT</pubDate>
      <description>&gt; TL;DR; My solution was to save my self signed certificate in DER format, sticking it on a local IIS site, loading the URL to the certificate in my mobile emulator, opening the file (when prompted) a...</description>
      <category>Security &amp; Identity</category>
    </item>
    <item>
      <title>HowTo: Auto synchronise files upon network connection (Windows)</title>
      <link>https://davidchristiansen.com/blog/howto-auto-synchronise-files-upon-network-connection</link>
      <guid>https://davidchristiansen.com/blog/howto-auto-synchronise-files-upon-network-connection</guid>
      <pubDate>Mon, 18 Aug 2014 00:00:00 GMT</pubDate>
      <description>There are times where we need to work away from the office network and the safety of backup infrastructure.  What would be nice is to automatically synchronise files on my laptop whenever I connect to...</description>
      <category>DevOps</category>
    </item>
    <item>
      <title>How do I edit my GitHub Wiki locally and include relative images?</title>
      <link>https://davidchristiansen.com/blog/edit-github-wiki-with-images</link>
      <guid>https://davidchristiansen.com/blog/edit-github-wiki-with-images</guid>
      <pubDate>Thu, 12 Dec 2013 00:00:00 GMT</pubDate>
      <description>This post sets out to describe how to edit a GitHub wiki on your computer as an alternative to editing directly within the GitHub web UI.  Cloning the GitHub Wiki to your computer The wiki content is...</description>
      <category>DevOps</category>
    </item>
    <item>
      <title>Glimpse for DotNetOpenAuth 1.3</title>
      <link>https://davidchristiansen.com/blog/glimpse-for-dotnetopenauth-1-3</link>
      <guid>https://davidchristiansen.com/blog/glimpse-for-dotnetopenauth-1-3</guid>
      <pubDate>Thu, 18 Apr 2013 00:00:00 GMT</pubDate>
      <description>Finally I got a chance tonight to update my DotNetOpenAuth extension for Glimpse. I&apos;ve pushed the update out to Nuget so go ahead and update now. Install-Package DCCreative.DNOA4Glimpse   What does it...</description>
      <category>Security &amp; Identity</category>
    </item>
    <item>
      <title>How simple is a OpenID Connect Basic client? (C#)</title>
      <link>https://davidchristiansen.com/blog/how-simple-is-a-openid-connect-basic-client-c</link>
      <guid>https://davidchristiansen.com/blog/how-simple-is-a-openid-connect-basic-client-c</guid>
      <pubDate>Mon, 16 Jul 2012 00:00:00 GMT</pubDate>
      <description>John Bradley has just posted a great entry demonstrating how simple life is going to be for a Relying Party when it comes to OpenID Connect. I highly recommend you go and read it. &gt; OpenID Connect pro...</description>
      <category>Security &amp; Identity</category>
    </item>
    <item>
      <title>Solved: Chrome v18, self signed certs and “signed using a weak signature algorithm”</title>
      <link>https://davidchristiansen.com/blog/solved-chrome-v18-self-signed-certs-and-signed-using-a-weak-signature-algorithm</link>
      <guid>https://davidchristiansen.com/blog/solved-chrome-v18-self-signed-certs-and-signed-using-a-weak-signature-algorithm</guid>
      <pubDate>Mon, 02 Apr 2012 00:00:00 GMT</pubDate>
      <description>So chrome has just updated itself automatically and you are now running v18 – great. Or is it… If like me, you are someone that are running sites using a self-signed SSL Certificate (i.e. when running...</description>
      <category>Security &amp; Identity</category>
    </item>
    <item>
      <title>DotNetOpenAuth: Debugging and Tracing OpenID and OAuth on ASP.NET (or MVC) using Glimpse</title>
      <link>https://davidchristiansen.com/blog/dotnetopenauth-debugging-and-tracing-openid-and-oauth-on-asp-net-or-mvc-using-glimpse</link>
      <guid>https://davidchristiansen.com/blog/dotnetopenauth-debugging-and-tracing-openid-and-oauth-on-asp-net-or-mvc-using-glimpse</guid>
      <pubDate>Mon, 11 Jul 2011 00:00:00 GMT</pubDate>
      <description>Synopsis: Understanding exactly what is happening under the hood when it comes to working with OpenID and OAuth can be challenging even for the seasoned IDM developer. What I have found to help, is be...</description>
      <category>Security &amp; Identity</category>
    </item>
    <item>
      <title>LogParser–Graphing PING results</title>
      <link>https://davidchristiansen.com/blog/logparsergraphing-ping-results</link>
      <guid>https://davidchristiansen.com/blog/logparsergraphing-ping-results</guid>
      <pubDate>Tue, 25 Jan 2011 00:00:00 GMT</pubDate>
      <description>Here is a nifty little example of how to pipe console output to Microsoft LogParser, in this case the results of a ping against Google. ping -n 15 www.google.co.uk | &quot;%pathTologparser%\\LogParser&quot; &quot;SE...</description>
      <category>Cloud &amp; Infrastructure</category>
    </item>
    <item>
      <title>FIX: nHibernate/log4net in windows service. FileNotFoundException</title>
      <link>https://davidchristiansen.com/blog/fix-nhibernatelog4net-in-windows-service-filenotfoundexception</link>
      <guid>https://davidchristiansen.com/blog/fix-nhibernatelog4net-in-windows-service-filenotfoundexception</guid>
      <pubDate>Thu, 20 Jan 2011 00:00:00 GMT</pubDate>
      <description>When using nHibernate in a windows service you may find that you encounter FileNotFoundExceptions when trying to load assemblies or external configuration files. Typically this is in scenarios where y...</description>
      <category>Development</category>
    </item>
    <item>
      <title>HOWTO: Creating a Dummy/Mock Webservice (ASMX) from a WSDL File</title>
      <link>https://davidchristiansen.com/blog/howto-creating-a-dummymock-webservice-asmx-from-a-wsdl-file</link>
      <guid>https://davidchristiansen.com/blog/howto-creating-a-dummymock-webservice-asmx-from-a-wsdl-file</guid>
      <pubDate>Mon, 29 Nov 2010 00:00:00 GMT</pubDate>
      <description>Sometimes it is helpful to mock a xml webservice for the purpose of testing against it without invoking the actual service. There are several reasons why this can be a good idea, such as when the serv...</description>
      <category>Development</category>
    </item>
    <item>
      <title>(Solved) ID6035: Cannot create a HashAlgorithm / “Object Identifier (OID) is unknown”</title>
      <link>https://davidchristiansen.com/blog/solved-id6035-cannot-create-a-hashalgorithm-object-identifier-oid-is-unknown</link>
      <guid>https://davidchristiansen.com/blog/solved-id6035-cannot-create-a-hashalgorithm-object-identifier-oid-is-unknown</guid>
      <pubDate>Mon, 29 Nov 2010 00:00:00 GMT</pubDate>
      <description>Implementing the Windows Identity Foundation of Windows Server 2003 and experiencing errors such as the following? Exception:   System.NotSupportedException, mscorlib, Version=2.0.0.0, Culture=neutral...</description>
      <category>Security &amp; Identity</category>
    </item>
    <item>
      <title>Howto: Using DotNetOpenAuth v3.4.x with ASP.NET MVC2</title>
      <link>https://davidchristiansen.com/blog/howto-using-dotnetopenauth-v3-4-x-with-asp-net-mvc2</link>
      <guid>https://davidchristiansen.com/blog/howto-using-dotnetopenauth-v3-4-x-with-asp-net-mvc2</guid>
      <pubDate>Fri, 16 Apr 2010 00:00:00 GMT</pubDate>
      <description>When targeting ASP.NET MVC 2, this assemblyBinding makes MVC 1 references relink to MVC 2 so libraries such as DotNetOpenAuth that compile against MVC 1 will work with it.</description>
      <category>Security &amp; Identity</category>
    </item>
    <item>
      <title>Wildcard Certificate Mapping Multiple Web Servers using Single IP address</title>
      <link>https://davidchristiansen.com/blog/wildcard-certificate-mapping-multiple-web-servers-using-single-ip-address</link>
      <guid>https://davidchristiansen.com/blog/wildcard-certificate-mapping-multiple-web-servers-using-single-ip-address</guid>
      <pubDate>Mon, 01 Jun 2009 00:00:00 GMT</pubDate>
      <description>Prerequisites -------------    MakeCert.exe (Which should be part of a visual studio install or downloadable here)    winhttpcertcfg.exe (downloadable here)    APPCMD (Part of Vista / Server 2008 / Wi...</description>
      <category>Cloud &amp; Infrastructure</category>
    </item>
  </channel>
</rss>