<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Robert Hargreaves</title>
    <description></description>
    <link>https://blog.roberthargreaves.com/</link>
    <atom:link href="https://blog.roberthargreaves.com/feed.xml" rel="self" type="application/rss+xml" />
    <pubDate>Tue, 10 Mar 2026 22:11:15 +0000</pubDate>
    <lastBuildDate>Tue, 10 Mar 2026 22:11:15 +0000</lastBuildDate>
    <generator>Jekyll v4.4.1</generator>
    
      <item>
        <title>Running LLMs on Proxmox VE with GPU pass-through</title>
        <description>Hosting local LLMs in isolation has never been easier with virtualisation and GPU pass-through</description>
        <pubDate>Tue, 10 Mar 2026 22:00:00 +0000</pubDate>
        <link>https://blog.roberthargreaves.com/2026/03/10/local-llm-proxmox-ollama-open-webui</link>
        <guid isPermaLink="true">https://blog.roberthargreaves.com/2026/03/10/local-llm-proxmox-ollama-open-webui</guid>
        
        <category>Proxmox VE</category>
        
        <category>ollama</category>
        
        <category>Open WebUI</category>
        
        <category>LLM</category>
        
        
        <category>AI</category>
        
      </item>
    
      <item>
        <title>Building an HTTP/2 server in C++ and hosting my site with it</title>
        <description>Learning HTTP/2 &amp; C++23, protecting against HTTP/2 attacks, hardening the binary &amp; container and exploring hosting options</description>
        <pubDate>Sat, 03 Jan 2026 09:00:00 +0000</pubDate>
        <link>https://blog.roberthargreaves.com/2026/01/03/building-hosting-ion-http2-server</link>
        <guid isPermaLink="true">https://blog.roberthargreaves.com/2026/01/03/building-hosting-ion-http2-server</guid>
        
        <category>HTTP/2</category>
        
        <category>C++</category>
        
        <category>Linux</category>
        
        <category>Containers</category>
        
        <category>Cloudflare</category>
        
        <category>bunny.net</category>
        
        <category>Google Cloud</category>
        
        
        <category>Development</category>
        
      </item>
    
      <item>
        <title>Debugging eBPF verification errors</title>
        <description>eBPF verifier errors are verifiably verbose</description>
        <pubDate>Mon, 01 Sep 2025 09:00:00 +0000</pubDate>
        <link>https://blog.roberthargreaves.com/2025/09/01/ebpf-verification</link>
        <guid isPermaLink="true">https://blog.roberthargreaves.com/2025/09/01/ebpf-verification</guid>
        
        <category>Linux</category>
        
        <category>eBPF</category>
        
        <category>Security</category>
        
        <category>C</category>
        
        
        <category>Development</category>
        
      </item>
    
      <item>
        <title>Implementing port knocking with eBPF</title>
        <description>No Toon can resist the old &apos;shave and a haircut&apos;...</description>
        <pubDate>Mon, 18 Aug 2025 09:00:00 +0000</pubDate>
        <link>https://blog.roberthargreaves.com/2025/08/18/ebpf-knock-knock</link>
        <guid isPermaLink="true">https://blog.roberthargreaves.com/2025/08/18/ebpf-knock-knock</guid>
        
        <category>Linux</category>
        
        <category>eBPF</category>
        
        <category>Networking</category>
        
        <category>Security</category>
        
        <category>C</category>
        
        
        <category>Development</category>
        
      </item>
    
      <item>
        <title>SRAM &amp; Bank Switching with the Everdrive Pro, X-series</title>
        <description>Accessing SRAM with the Everdrive Pro and X-series requires a different approach when using the SSF mapper</description>
        <pubDate>Mon, 10 Mar 2025 09:00:00 +0000</pubDate>
        <link>https://blog.roberthargreaves.com/2025/03/10/sram-and-everdrives</link>
        <guid isPermaLink="true">https://blog.roberthargreaves.com/2025/03/10/sram-and-everdrives</guid>
        
        <category>Mega Drive</category>
        
        <category>C</category>
        
        
        <category>Development</category>
        
      </item>
    
      <item>
        <title>Detecting Mega Everdrive Models</title>
        <description>In order to handle differences between the Pro and X-series</description>
        <pubDate>Wed, 05 Feb 2025 09:00:00 +0000</pubDate>
        <link>https://blog.roberthargreaves.com/2025/02/05/detecting-mega-everdrive-models</link>
        <guid isPermaLink="true">https://blog.roberthargreaves.com/2025/02/05/detecting-mega-everdrive-models</guid>
        
        <category>Mega Drive</category>
        
        <category>C</category>
        
        
        <category>Development</category>
        
      </item>
    
      <item>
        <title>Continuous Delivery on the Sega Mega Drive</title>
        <description>Using modern techniques to aid development on the Sega Mega Drive</description>
        <pubDate>Sat, 28 Dec 2019 09:00:00 +0000</pubDate>
        <link>https://blog.roberthargreaves.com/2019/12/28/continuous-delivery-on-the-sega-mega-drive</link>
        <guid isPermaLink="true">https://blog.roberthargreaves.com/2019/12/28/continuous-delivery-on-the-sega-mega-drive</guid>
        
        <category>C</category>
        
        <category>GCC</category>
        
        <category>TDD</category>
        
        <category>CI/CD</category>
        
        <category>Mega Drive</category>
        
        
        <category>Development</category>
        
      </item>
    
      <item>
        <title>GCC&apos;s got my back</title>
        <description>You don&apos;t have to be a great C programmer to produce optimal code. That&apos;s good!</description>
        <pubDate>Fri, 27 Dec 2019 09:00:00 +0000</pubDate>
        <link>https://blog.roberthargreaves.com/2019/12/27/gcc-got-my-back</link>
        <guid isPermaLink="true">https://blog.roberthargreaves.com/2019/12/27/gcc-got-my-back</guid>
        
        <category>C</category>
        
        <category>GCC</category>
        
        <category>Motorola 68000</category>
        
        
        <category>Development</category>
        
      </item>
    
      <item>
        <title>Phonon 4000 Headphone Refactoring</title>
        <description>Fixing the classic plug/cable/headphone coupling anti-pattern</description>
        <pubDate>Tue, 02 Jan 2018 18:00:00 +0000</pubDate>
        <link>https://blog.roberthargreaves.com/2018/01/02/phonon-4000-headphone-refactoring</link>
        <guid isPermaLink="true">https://blog.roberthargreaves.com/2018/01/02/phonon-4000-headphone-refactoring</guid>
        
        <category>Audio</category>
        
        <category>Hardware</category>
        
        
        <category>Hardware</category>
        
      </item>
    
      <item>
        <title>OAuth 1.0 Signature Validation in Fastly VCL</title>
        <description>Making use of Fastly&apos;s VCL cryptographic functions to validate OAuth 1.0 signatures on the edge.</description>
        <pubDate>Sun, 16 Jul 2017 18:00:00 +0000</pubDate>
        <link>https://blog.roberthargreaves.com/2017/07/16/oauth-validation-in-fastly</link>
        <guid isPermaLink="true">https://blog.roberthargreaves.com/2017/07/16/oauth-validation-in-fastly</guid>
        
        <category>Fastly</category>
        
        <category>VCL</category>
        
        <category>Varnish</category>
        
        <category>Development</category>
        
        
        <category>Development</category>
        
      </item>
    
  </channel>
</rss>
