<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>posts on james(bl)og</title>
    <link>https://jamesog.net/post/</link>
    <description>Recent content in posts on james(bl)og</description>
    <generator>Hugo</generator>
    <language>en-gb</language>
    <lastBuildDate>Sun, 29 Mar 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://jamesog.net/post/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Go vanity imports with Caddy</title>
      <link>https://jamesog.net/2026/03/29/go-vanity-imports-with-caddy/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://jamesog.net/2026/03/29/go-vanity-imports-with-caddy/</guid>
      <description>&lt;p&gt;Go uses the full URL to a repo to fetch it with &lt;code&gt;go get&lt;/code&gt;, i.e. &lt;code&gt;go get github.com/username/module&lt;/code&gt; fetches it from exactly that repo.&lt;/p&gt;&#xA;&lt;p&gt;It can be nice not to tie yourself to a specific repository host. The &lt;code&gt;go&lt;/code&gt;&#xA;command always fetches using a query string of &lt;code&gt;go-get=1&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;We can make use of this in Caddy to return an HTML meta tag understood by &lt;code&gt;go get&lt;/code&gt; to point at the actual repo; or otherwise redirect to the module&amp;rsquo;s&#xA;documentation on pkg.go.dev.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up NixOS to use an SSH CA</title>
      <link>https://jamesog.net/2023/03/03/setting-up-nixos-to-use-an-ssh-ca/</link>
      <pubDate>Fri, 03 Mar 2023 21:00:00 +0000</pubDate>
      <guid>https://jamesog.net/2023/03/03/setting-up-nixos-to-use-an-ssh-ca/</guid>
      <description>&lt;p&gt;In my &lt;a href=&#34;https://jamesog.net/2023/03/03/yubikey-as-an-ssh-certificate-authority/&#34;&gt;previous post&lt;/a&gt; I described how to set up an SSH certificate authority using a YubiKey.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been experimenting with NixOS again recently — having had several failed attempts before due to the utterly impenetrable documentation — but I&amp;rsquo;m curious enough to spend a bit more effort on it.&lt;/p&gt;&#xA;&lt;p&gt;Even though I&amp;rsquo;m only running it in test VMs right now I still want to get a good feel for running it on a server, so I want to be able to log in using a signed certificate.&lt;/p&gt;</description>
    </item>
    <item>
      <title>YubiKey as an SSH Certificate Authority</title>
      <link>https://jamesog.net/2023/03/03/yubikey-as-an-ssh-certificate-authority/</link>
      <pubDate>Fri, 03 Mar 2023 16:00:00 +0000</pubDate>
      <guid>https://jamesog.net/2023/03/03/yubikey-as-an-ssh-certificate-authority/</guid>
      <description>&lt;p&gt;This is a guide to setting up a YubiKey for use as an offline SSH certificate authority.&lt;/p&gt;&#xA;&lt;p&gt;This assumes a brand new YubiKey with no prior configuration on it, to be used solely as a CA.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why&#34;&gt;Why?&lt;/h2&gt;&#xA;&lt;p&gt;Typically a CA should be on a secured, isolated machine. Using a dedicated YubiKey means you can isolate your CA and keep it in a drawer so that it can&amp;rsquo;t be accessed. YubiKeys offer protections such as requiring a PIN and/or touching the key for &lt;a href=&#34;https://developers.yubico.com/PIV/&#34;&gt;PIV&lt;/a&gt; operations.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hello, Hugo</title>
      <link>https://jamesog.net/2016/10/30/hello-hugo/</link>
      <pubDate>Sun, 30 Oct 2016 17:01:22 +0000</pubDate>
      <guid>https://jamesog.net/2016/10/30/hello-hugo/</guid>
      <description>&lt;p&gt;I posted to my &lt;a href=&#34;http://jamesog.tumblr.com/&#34;&gt;Tumblr blog&lt;/a&gt; that I had relocated to here.&lt;/p&gt;&#xA;&lt;p&gt;Forgetting that I&amp;rsquo;d set Tumblr to automatically share new posts to Twitter, that post got tweeted and a few people picked it up. That&amp;rsquo;s not necessarily a bad thing, but there&amp;rsquo;s not much interesting here yet. :-)&lt;/p&gt;&#xA;&lt;p&gt;Over time I might start to post some technical things here. I haven&amp;rsquo;t really decided yet. Largely I just wanted to play with &lt;a href=&#34;https://gohugo.io/&#34;&gt;Hugo&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FreeBSD on BigV - Now with VirtIO!</title>
      <link>https://jamesog.net/2013/06/15/freebsd-on-bigv-now-with-virtio/</link>
      <pubDate>Sat, 15 Jun 2013 21:42:35 +0000</pubDate>
      <guid>https://jamesog.net/2013/06/15/freebsd-on-bigv-now-with-virtio/</guid>
      <description>&lt;p&gt;FreeBSD 8.4 was &lt;a href=&#34;https://lists.freebsd.org/pipermail/freebsd-announce/2013-June/001479.html&#34;&gt;recently released&lt;/a&gt;. I noticed in the &lt;a href=&#34;https://www.freebsd.org/releases/8.4R/relnotes-detailed.html&#34;&gt;release notes&lt;/a&gt; that virtio is now enabled by default. Hurrah!&lt;/p&gt;&#xA;&lt;p&gt;With this in mind, I decided to give Bytemark’s &lt;a href=&#34;https://www.bigv.io/&#34;&gt;BigV&lt;/a&gt; another go. Previously I’d had to use a custom CD image and semi-manual installation process to use FreeBSD on BigV, or otherwise face the performance penalties for using KVM’s IDE emulation. (It’s &lt;em&gt;really slow&lt;/em&gt;.)&lt;/p&gt;&#xA;&lt;p&gt;The good news is that with 8.4-RELEASE you don’t have to do a thing to get virtio to work. It detected the disk and network adapter fine. The VM is flying along. Very happy with that.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SmartOS on Hetzner EX 4S</title>
      <link>https://jamesog.net/2013/02/04/smartos-on-hetzner-ex-4s/</link>
      <pubDate>Mon, 04 Feb 2013 16:56:18 +0000</pubDate>
      <guid>https://jamesog.net/2013/02/04/smartos-on-hetzner-ex-4s/</guid>
      <description>&lt;p&gt;I recently decided to try SmartOS as it looks to be a very interesting virtualization platform. I didn’t have a machine to spare to trial it, so I decided to rent a &lt;a href=&#34;http://www.hetzner.de/en/hosting/produkte_rootserver/ex4s&#34;&gt;Hetzner EX4S&lt;/a&gt; with a 16GB flash drive.&lt;/p&gt;&#xA;&lt;p&gt;For the initial install I asked Hetzner to set up the server to boot to their rescue environment, rather than preinstall one of their OS images. From here I was able to wget the SmartOS USB image and dd it to the flash drive.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
