<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://john-broadway.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://john-broadway.github.io/" rel="alternate" type="text/html" /><updated>2026-05-12T21:59:36+00:00</updated><id>https://john-broadway.github.io/feed.xml</id><title type="html">John Broadway</title><subtitle>Independent AI researcher and infrastructure architect. Sovereign AI systems on bare metal.</subtitle><author><name>John Broadway</name></author><entry><title type="html">Welcome</title><link href="https://john-broadway.github.io/2026/05/12/welcome/" rel="alternate" type="text/html" title="Welcome" /><published>2026-05-12T00:00:00+00:00</published><updated>2026-05-12T00:00:00+00:00</updated><id>https://john-broadway.github.io/2026/05/12/welcome</id><content type="html" xml:base="https://john-broadway.github.io/2026/05/12/welcome/"><![CDATA[<p>This is the log. Notes on what I’m building.</p>

<p>This first post is a placeholder. It’ll be replaced when there’s something real to say.</p>

<p>Technical note for future me: Jekyll runs post bodies through Liquid before Markdown. If a code sample contains literal <code class="language-plaintext highlighter-rouge">{{</code> or <code class="language-plaintext highlighter-rouge">{%</code>, wrap it in Liquid’s <code class="language-plaintext highlighter-rouge">raw</code>/<code class="language-plaintext highlighter-rouge">endraw</code> block tags or the build will evaluate them and emit blank output.</p>]]></content><author><name>John Broadway</name></author><summary type="html"><![CDATA[First post — placeholder while the log gets used in earnest.]]></summary></entry></feed>