<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>silent-failure on jwogrady</title>
		<link>https://www.jwogrady.com/tags/silent-failure/</link>
		<description>Recent content in silent-failure on jwogrady</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Mon, 21 Sep 2026 21:01:19 -0500</lastBuildDate>
		
			<atom:link href="https://www.jwogrady.com/tags/silent-failure/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>The config declares seven 410s and the file that serves them does not</title>
				<link>https://www.jwogrady.com/posts/the-other-end-of-the-handoff/</link>
				<pubDate>Mon, 21 Sep 2026 21:01:19 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/the-other-end-of-the-handoff/</guid>
				<description>&lt;p&gt;An old site had a run of machine-generated pages, and some of them shipped&#xA;broken — URLs containing the template&amp;rsquo;s own placeholder text, never&#xA;substituted. Somebody dealt with those properly. Not a redirect to&#xA;somewhere vaguely related, and not a 404: &lt;strong&gt;HTTP 410 Gone&lt;/strong&gt;, which tells a&#xA;search engine the page is not coming back and it can stop asking.&lt;/p&gt;&#xA;&lt;p&gt;Seven of them. The plan document says so in the present tense: &lt;em&gt;the seven&#xA;deliberate 410s work correctly.&lt;/em&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>I read one branch of six and called the salvage complete</title>
				<link>https://www.jwogrady.com/posts/one-branch-of-six/</link>
				<pubDate>Mon, 21 Sep 2026 20:57:28 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/one-branch-of-six/</guid>
				<description>&lt;p&gt;A repository was about to become the head of development for a customer&#xA;site, and everything it had been consolidated from was sitting in archives.&#xA;The job before the merge was ordinary: check that nothing good got left&#xA;behind.&lt;/p&gt;&#xA;&lt;p&gt;I did the careful version. Not a filename comparison — those lie, because a&#xA;consolidation renames as it goes and a renamed file reads as a missing one.&#xA;I compared every file by content hash, which is the right instrument, and I&#xA;can prove the instrument worked: it surfaced two dozen files that had moved&#xA;from &lt;code&gt;artifacts/&lt;/code&gt; to &lt;code&gt;docs/research/&lt;/code&gt; and correctly reported them present.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Two config directories, and I would have edited the wrong one</title>
				<link>https://www.jwogrady.com/posts/zed-config-is-windows-side/</link>
				<pubDate>Sun, 20 Sep 2026 18:52:00 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/zed-config-is-windows-side/</guid>
				<description>&lt;p&gt;I sat down to add the editor settings I&amp;rsquo;d written up in JRN 26-008 and found&#xA;&lt;code&gt;~/.config/zed/&lt;/code&gt; sitting there — existing, correctly named, and completely&#xA;empty.&lt;/p&gt;&#xA;&#xA;&lt;figure&gt;&#xA;  &lt;img src=&#34;https://www.jwogrady.com/posts/zed-config-is-windows-side/two-config-directories.png&#34; width=&#34;1000&#34; height=&#34;459&#34;&#xA;       alt=&#34;Terminal output: zero files in ~/.config/zed, while the Windows AppData Zed folder holds settings.json, snippets and themes, and five installed extensions.&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;  &lt;figcaption&gt;Zero files on the Linux side. Everything on the Windows side.&lt;span class=&#34;credit&#34;&gt;Screenshot&lt;/span&gt;&#xA;  &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Zero files. Meanwhile &lt;code&gt;AppData/Roaming/Zed/&lt;/code&gt; has the &lt;code&gt;settings.json&lt;/code&gt; I&amp;rsquo;ve&#xA;apparently been editing all along, and &lt;code&gt;AppData/Local/Zed/extensions/installed&lt;/code&gt;&#xA;has five extensions I don&amp;rsquo;t remember installing individually.&lt;/p&gt;</description>
			</item>
			<item>
				<title>A page can render perfectly and exist nowhere</title>
				<link>https://www.jwogrady.com/posts/journal-is-a-string-match/</link>
				<pubDate>Sun, 20 Sep 2026 16:49:00 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/journal-is-a-string-match/</guid>
				<description>&lt;p&gt;The post rendered. Right title, right date, theme styling, HTTP 200. And it&#xA;appeared in no index anywhere on the site.&lt;/p&gt;&#xA;&lt;p&gt;The theme&amp;rsquo;s home template, in full:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-go-html-template&#34; data-lang=&#34;go-html-template&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;{{&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$posts&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;where&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;site&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;.RegularPages&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Section&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;posts&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;}}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;An exact string match on the section. My file was at &lt;code&gt;content/first-try.md&lt;/code&gt; —&#xA;root section, empty string, filtered out. Moving it into &lt;code&gt;content/posts/&lt;/code&gt;&#xA;fixed it in one &lt;code&gt;git mv&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Then I hit the same shape of thing one level down. The date index is built&#xA;from an &lt;code&gt;archives&lt;/code&gt; taxonomy, and &lt;strong&gt;not&lt;/strong&gt; from the &lt;code&gt;date&lt;/code&gt; field:&lt;/p&gt;</description>
			</item>
			<item>
				<title>A theme that refuses to build, and why I came around to it</title>
				<link>https://www.jwogrady.com/posts/theme-that-refuses/</link>
				<pubDate>Sun, 20 Sep 2026 16:46:00 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/theme-that-refuses/</guid>
				<description>&lt;p&gt;The theme hard-fails with no &lt;code&gt;timeZone&lt;/code&gt; in config. Not a warning — a failed&#xA;build, on a line I hadn&amp;rsquo;t written yet.&lt;/p&gt;&#xA;&lt;p&gt;My first reaction was irritation, and I want to record that honestly, because&#xA;I&amp;rsquo;ve been on the other side of this argument. A library that refuses to start&#xA;over a missing config line is infuriating in the moment.&lt;/p&gt;&#xA;&lt;p&gt;Then I worked out what it&amp;rsquo;s preventing. Unset, Hugo uses the build machine&amp;rsquo;s&#xA;zone. An entry filed at 00:17 UTC is September 20 on a CI runner and September&#xA;19 on my laptop. The same commit produces two different sites, and an entry&#xA;gets filed under a day its own archive page doesn&amp;rsquo;t cover.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Raw HTML disappears from markdown without saying anything</title>
				<link>https://www.jwogrady.com/posts/goldmark-strips-html/</link>
				<pubDate>Sun, 20 Sep 2026 16:24:00 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/goldmark-strips-html/</guid>
				<description>&lt;p&gt;Put an iframe in a markdown file and it renders as nothing. Not a broken&#xA;element, not a comment, not a warning in the build log. The element simply&#xA;isn&amp;rsquo;t in the HTML, as though I&amp;rsquo;d never typed it.&lt;/p&gt;&#xA;&lt;p&gt;Goldmark — Hugo&amp;rsquo;s markdown renderer — discards raw HTML unless you tell it&#xA;otherwise:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;markup&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;goldmark&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;renderer&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;unsafe&lt;/span&gt; = &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I&amp;rsquo;ll defend the name. It&amp;rsquo;s site-wide and it re-enables &lt;em&gt;all&lt;/em&gt; raw HTML in&#xA;&lt;em&gt;all&lt;/em&gt; markdown, which is a sensible thing to refuse when content might come&#xA;from someone else, and a sensible thing to allow on a personal site where I&#xA;wrote every file.&lt;/p&gt;</description>
			</item>
			<item>
				<title>An editor and a filesystem can hold two different documents</title>
				<link>https://www.jwogrady.com/posts/the-file-on-disk/</link>
				<pubDate>Sun, 20 Sep 2026 16:18:00 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/the-file-on-disk/</guid>
				<description>&lt;p&gt;Here&amp;rsquo;s something I didn&amp;rsquo;t know this morning: an editor and a filesystem can&#xA;hold two different documents under one name, and neither is obliged to&#xA;mention it.&lt;/p&gt;&#xA;&lt;p&gt;I found out the slow way. Four rounds of &amp;ldquo;it&amp;rsquo;s not there&amp;rdquo; / &amp;ldquo;but I can see&#xA;it&amp;rdquo; before I checked the only thing that settles an argument like that:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ stat -c &amp;#39;%y %s bytes&amp;#39; content/first-try.md&#xA;2026-09-20 16:04:13 -0500  186 bytes&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The editor said thirteen lines. The disk said 186 bytes.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The image was fine. The page had nowhere to be.</title>
				<link>https://www.jwogrady.com/posts/no-theme-no-layouts/</link>
				<pubDate>Sun, 20 Sep 2026 16:05:00 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/no-theme-no-layouts/</guid>
				<description>&lt;p&gt;Two things were true at once and I couldn&amp;rsquo;t make them fit together.&lt;/p&gt;&#xA;&lt;p&gt;The build was publishing my image to &lt;code&gt;public/&lt;/code&gt;. The build was &lt;em&gt;not&lt;/em&gt; publishing&#xA;&lt;code&gt;public/first-try/index.html&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I assumed one of those had to be a lie, and spent a while looking for which.&#xA;Neither was. The asset pipeline and the page renderer don&amp;rsquo;t know about each&#xA;other — a shortcode calling &lt;code&gt;resources.Get&lt;/code&gt; emits its image whether or not any&#xA;page renders successfully. So the image being served proved the shortcode&#xA;worked and proved precisely nothing about the page.&lt;/p&gt;</description>
			</item>
			<item>
				<title>A clean build of a website that does not exist</title>
				<link>https://www.jwogrady.com/posts/empty-site-renders-nothing/</link>
				<pubDate>Sun, 20 Sep 2026 15:24:00 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/empty-site-renders-nothing/</guid>
				<description>&lt;p&gt;If you have ever run the command, watched it succeed, gone to look at the&#xA;thing you just made, and found absolutely nothing there —&lt;/p&gt;&#xA;&lt;p&gt;yes. That. That&amp;rsquo;s what this is about.&lt;/p&gt;&#xA;&lt;p&gt;Three minutes into building this site I had a perfectly clean, completely&#xA;successful build of nothing at all.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ hugo new site .&#xA;$ hugo&#xA;&#xA;                  │ EN&#xA;──────────────────┼────&#xA; Pages            │  0&#xA;&#xA;Total in 41 ms&#xA;$ find public -type f&#xA;public/sitemap.xml&#xA;public/index.xml&#xA;public/tags/index.xml&#xA;public/categories/index.xml&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Four files. All of them machine-readable lists of the pages on my website.&#xA;All four of them describing zero pages. No actual web pages anywhere. Exit&#xA;code zero, forty-one milliseconds, no errors, no warnings, no complaints of&#xA;any kind.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
