Skip to content

Commit e1f5714

Browse files
jamesroutleygithub-actions[bot]
authored andcommitted
Build website (automatic)
1 parent c4c6665 commit e1f5714

17 files changed

+1134
-1707
lines changed

docs/index.html

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,15 @@ <h1>News</h1>
1616

1717

1818

19+
20+
<li>
21+
<a href="posts/sub-pixel-distance-transform-2023.html">Sub-pixel distance transform (2023)</a> (acko.net)
22+
</li>
23+
24+
25+
26+
27+
1928
<li>
2029
<a href="https://ghostty.org/">Ghostty 1.0</a> (ghostty.org)
2130
</li>
@@ -45,7 +54,7 @@ <h1>News</h1>
4554

4655

4756
<li>
48-
<a href="posts/the-semver-trick-2019.html">The semver trick (2019)</a> (github.com)
57+
<a href="posts/lua-is-so-underrated.html">Lua Is So Underrated</a> (nflatrea.bearblog.dev)
4958
</li>
5059

5160

@@ -54,7 +63,7 @@ <h1>News</h1>
5463

5564

5665
<li>
57-
<a href="posts/a-tour-of-webauthn.html">A Tour of WebAuthn</a> (www.imperialviolet.org)
66+
<a href="posts/the-semver-trick-2019.html">The semver trick (2019)</a> (github.com)
5867
</li>
5968

6069

@@ -63,52 +72,52 @@ <h1>News</h1>
6372

6473

6574
<li>
66-
<a href="posts/a-simple-elf.html">A Simple ELF</a> (4zm.org)
75+
<a href="posts/is-chatgpt-down.html">Ask HN: Is ChatGPT down?</a> (news.ycombinator.com)
6776
</li>
6877

6978

7079

7180

7281

82+
7383
<li>
74-
<a href="https://vrklovespaper.substack.com/p/software-for-stationery-lovers">Software for stationery lovers</a> (vrklovespaper.substack.com)
84+
<a href="posts/a-tour-of-webauthn.html">A Tour of WebAuthn</a> (www.imperialviolet.org)
7585
</li>
7686

7787

7888

7989

8090

8191

82-
8392
<li>
84-
<a href="posts/i-ve-made-a-monte-carlo-raytracer-for-gltf-scenes-in-webgpu.html">Show HN: I&#39;ve made a Monte-Carlo raytracer for glTF scenes in WebGPU</a> (github.com)
93+
<a href="posts/a-simple-elf.html">A Simple ELF</a> (4zm.org)
8594
</li>
8695

8796

8897

8998

9099

91-
92100
<li>
93-
<a href="posts/my-failed-attempt-at-agi-on-the-tokio-runtime.html">My failed attempt at AGI on the Tokio Runtime</a> (www.christo.sh)
101+
<a href="https://vrklovespaper.substack.com/p/software-for-stationery-lovers">Software for stationery lovers</a> (vrklovespaper.substack.com)
94102
</li>
95103

96104

97105

98106

99107

108+
109+
100110
<li>
101-
<a href="https://pbat.ch/recurse/demos/trio/">Show HN: A singing synthesizer for the browser with automatic 3-part harmony</a> (pbat.ch)
111+
<a href="posts/i-ve-made-a-monte-carlo-raytracer-for-gltf-scenes-in-webgpu.html">Show HN: I&#39;ve made a Monte-Carlo raytracer for glTF scenes in WebGPU</a> (github.com)
102112
</li>
103113

104114

105115

106116

107117

108118

109-
110119
<li>
111-
<a href="posts/lffs-simplicity-vs-efficiency.html">LFFS: Simplicity vs Efficiency</a> (bytes.zone)
120+
<a href="posts/ocean-carbon-removal-captura-s-marine-carbon-capture-explained.html">Ocean Carbon Removal: Captura&#39;s marine carbon capture explained</a> (spectrum.ieee.org)
112121
</li>
113122

114123

@@ -117,25 +126,25 @@ <h1>News</h1>
117126

118127

119128
<li>
120-
<a href="posts/differential-growth-addon-for-blender.html">Differential Growth Addon for Blender</a> (boris.okunskiy.name)
129+
<a href="posts/the-trap-of-i-am-not-an-extrovert.html">The trap of &#34;I am not an extrovert&#34;</a> (orkohunter.net)
121130
</li>
122131

123132

124133

125134

126135

127-
128136
<li>
129-
<a href="posts/a-minecraft-server-written-in-cobol.html">A Minecraft server written in COBOL</a> (github.com)
137+
<a href="https://pbat.ch/recurse/demos/trio/">Show HN: A singing synthesizer for the browser with automatic 3-part harmony</a> (pbat.ch)
130138
</li>
131139

132140

133141

134142

135143

136144

145+
137146
<li>
138-
<a href="posts/blackcandy-self-hosted-music-streaming-server.html">Blackcandy: Self hosted music streaming server</a> (github.com)
147+
<a href="posts/lffs-simplicity-vs-efficiency.html">LFFS: Simplicity vs Efficiency</a> (bytes.zone)
139148
</li>
140149

141150

@@ -144,7 +153,7 @@ <h1>News</h1>
144153

145154

146155
<li>
147-
<a href="posts/siyuan-privacy-first-self-hosted-personal-knowledge-management-software.html">Siyuan: Privacy-first, self-hosted personal knowledge management software</a> (github.com)
156+
<a href="posts/differential-growth-addon-for-blender.html">Differential Growth Addon for Blender</a> (boris.okunskiy.name)
148157
</li>
149158

150159

@@ -153,7 +162,7 @@ <h1>News</h1>
153162

154163

155164
<li>
156-
<a href="posts/seconds-since-the-epoch.html">Seconds Since the Epoch</a> (aphyr.com)
165+
<a href="posts/a-minecraft-server-written-in-cobol.html">A Minecraft server written in COBOL</a> (github.com)
157166
</li>
158167

159168

@@ -162,25 +171,25 @@ <h1>News</h1>
162171

163172

164173
<li>
165-
<a href="posts/portspoof-emulate-a-valid-service-on-all-65535-tcp-ports.html">Portspoof: Emulate a valid service on all 65535 TCP ports</a> (github.com)
174+
<a href="posts/blackcandy-self-hosted-music-streaming-server.html">Blackcandy: Self hosted music streaming server</a> (github.com)
166175
</li>
167176

168177

169178

170179

171180

181+
172182
<li>
173-
<a href="https://www.youtube.com/watch?v=IQqtsm-bBRU">This open problem taught me what topology is [video]</a> (www.youtube.com)
183+
<a href="posts/siyuan-privacy-first-self-hosted-personal-knowledge-management-software.html">Siyuan: Privacy-first, self-hosted personal knowledge management software</a> (github.com)
174184
</li>
175185

176186

177187

178188

179189

180190

181-
182191
<li>
183-
<a href="posts/into-cps-never-to-return.html">Into CPS, never to return</a> (bernsteinbear.com)
192+
<a href="posts/seconds-since-the-epoch.html">Seconds Since the Epoch</a> (aphyr.com)
184193
</li>
185194

186195

@@ -189,7 +198,7 @@ <h1>News</h1>
189198

190199

191200
<li>
192-
<a href="posts/vpr-nordic-s-first-risc-v-processor.html">VPR: Nordic&#39;s First RISC-V Processor</a> (danielmangum.com)
201+
<a href="posts/portspoof-emulate-a-valid-service-on-all-65535-tcp-ports.html">Portspoof: Emulate a valid service on all 65535 TCP ports</a> (github.com)
193202
</li>
194203

195204

@@ -198,7 +207,7 @@ <h1>News</h1>
198207

199208

200209
<li>
201-
<a href="posts/i-got-a-chocofi-keyboard.html">I got a Chocofi keyboard</a> (rfong.github.io)
210+
<a href="posts/into-cps-never-to-return.html">Into CPS, never to return</a> (bernsteinbear.com)
202211
</li>
203212

204213

@@ -207,32 +216,32 @@ <h1>News</h1>
207216

208217

209218
<li>
210-
<a href="posts/time-to-say-goodbye.html">Time To Say Goodbye</a> (gochugarugirl.com)
219+
<a href="posts/i-got-a-chocofi-keyboard.html">I got a Chocofi keyboard</a> (rfong.github.io)
211220
</li>
212221

213222

214223

215224

216225

226+
217227
<li>
218-
<a href="https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision">to acquire a goshawk is a major decision</a> (todaythings.substack.com)
228+
<a href="posts/time-to-say-goodbye.html">Time To Say Goodbye</a> (gochugarugirl.com)
219229
</li>
220230

221231

222232

223233

224234

225-
226-
227235
<li>
228-
<a href="posts/ugandan-runner-due-to-arrive-in-london-after-516-days-7-700-miles-on-the-road.html">Ugandan runner due to arrive in London after 516 days, 7,700 miles on the road</a> (www.theguardian.com)
236+
<a href="https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision">to acquire a goshawk is a major decision</a> (todaythings.substack.com)
229237
</li>
230238

231239

232240

233241

234242

235243

244+
236245
<li>
237246
<a href="posts/feel-don-t-think.html">Feel, don&#39;t think</a> (ntietz.com)
238247
</li>
@@ -286,15 +295,6 @@ <h1>News</h1>
286295

287296

288297

289-
290-
<li>
291-
<a href="posts/reads-causing-writes-in-postgres.html">Reads Causing Writes in Postgres</a> (jesipow.com)
292-
</li>
293-
294-
295-
296-
297-
298298
<li>
299299
<a href="http://tinylogger.com/max/wnTJ9xu3fw5UiXLp">A Brief Review of My Audio Plugins</a> (tinylogger.com)
300300
</li>

docs/log.txt

Lines changed: 38 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,38 @@
1-
2024/12/26 22:14:58 Fetched posts from https://macwright.com/rss.xml, took 53.640126ms
2-
2024/12/26 22:14:58 error parsing https://mikehudack.substack.com/feed: http error: 403 Forbidden
3-
2024/12/26 22:14:58 Fetched posts from https://mikehudack.substack.com/feed, took 54.946247ms
4-
2024/12/26 22:14:58 error parsing https://highgrowthengineering.substack.com/feed: http error: 403 Forbidden
5-
2024/12/26 22:14:58 Fetched posts from https://highgrowthengineering.substack.com/feed, took 55.539691ms
6-
2024/12/26 22:14:58 error parsing https://themargins.substack.com/feed.xml: http error: 403 Forbidden
7-
2024/12/26 22:14:58 Fetched posts from https://themargins.substack.com/feed.xml, took 61.761736ms
8-
2024/12/26 22:14:59 Fetched posts from https://www.benkuhn.net/index.xml, took 117.772616ms
9-
2024/12/26 22:14:59 Fetched posts from https://twobithistory.org/feed.xml, took 145.246093ms
10-
2024/12/26 22:14:59 Fetched posts from https://www.slowernews.com/rss.xml, took 153.911648ms
11-
2024/12/26 22:14:59 Fetched posts from https://anewsletter.alisoneroman.com/feed, took 206.594797ms
12-
2024/12/26 22:14:59 Fetched posts from https://jvns.ca/atom.xml, took 208.289557ms
13-
2024/12/26 22:14:59 Fetched posts from https://scattered-thoughts.net/rss.xml, took 254.162532ms
14-
2024/12/26 22:14:59 Fetched posts from https://danluu.com/atom.xml, took 308.039675ms
15-
2024/12/26 22:14:59 Fetched posts from https://www.wildlondon.org.uk/blog/all/rss.xml, took 416.818836ms
16-
2024/12/26 22:14:59 Fetched posts from https://joy.recurse.com/feed.atom, took 429.71131ms
17-
2024/12/26 22:14:59 Fetched posts from https://blog.golang.org/feed.atom?format=xml, took 482.588731ms
18-
2024/12/26 22:14:59 Content still empty after HTML reader: https://ghostty.org/
19-
2024/12/26 22:14:59 Fetched posts from https://routley.io/reserialised/great-expectations/2022-08-24/index.xml, took 744.451057ms
20-
2024/12/26 22:15:00 Fetched posts from https://blog.veitheller.de/feed.rss, took 1.1499716s
21-
2024/12/26 22:15:00 Content still empty after HTML reader: https://vrklovespaper.substack.com/p/software-for-stationery-lovers
22-
2024/12/26 22:15:00 Fetched posts from https://solar.lowtechmagazine.com/feeds/all-en.atom.xml, took 1.409000533s
23-
2024/12/26 22:15:00 Fetched posts from http://tonsky.me/blog/atom.xml, took 1.522961317s
24-
2024/12/26 22:15:00 Fetched posts from https://commoncog.com/blog/rss/, took 1.638171729s
25-
2024/12/26 22:15:00 Content still empty after HTML reader: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision
26-
2024/12/26 22:15:02 Fetched posts from https://gochugarugirl.com/feed/, took 3.669091391s
27-
2024/12/26 22:15:02 Content still empty after HTML reader: https://pbat.ch/recurse/demos/trio/
28-
2024/12/26 22:15:03 Content still empty after HTML reader: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp
29-
2024/12/26 22:15:06 Content still empty after HTML reader: https://www.youtube.com/watch?v=IQqtsm-bBRU
30-
2024/12/26 22:15:06 Fetched posts from https://blaggregator.recurse.com/atom.xml?token=4c4c4e40044244aab4a36e681dfb8fb0, took 7.831289588s
31-
2024/12/26 22:15:07 Fetched posts from https://hnrss.org/frontpage?points=50, took 8.884757547s
32-
2024/12/26 22:15:28 error parsing https://rachelbythebay.com/w/atom.xml: Get "https://rachelbythebay.com/w/atom.xml": dial tcp 216.218.228.215:443: i/o timeout
33-
2024/12/26 22:15:28 Fetched posts from https://rachelbythebay.com/w/atom.xml, took 30.004544482s
34-
2024/12/26 22:15:28 Skipping writing post, no content: https://ghostty.org/
35-
2024/12/26 22:15:28 Skipping writing post, no content: https://vrklovespaper.substack.com/p/software-for-stationery-lovers
36-
2024/12/26 22:15:28 Skipping writing post, no content: https://pbat.ch/recurse/demos/trio/
37-
2024/12/26 22:15:28 Skipping writing post, no content: https://www.youtube.com/watch?v=IQqtsm-bBRU
38-
2024/12/26 22:15:28 Skipping writing post, no content: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision
39-
2024/12/26 22:15:28 Skipping writing post, no content: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp
40-
2024/12/26 22:15:28 Templated 42 posts, took 6.596483ms
1+
2024/12/26 23:15:32 error parsing https://highgrowthengineering.substack.com/feed: http error: 403 Forbidden
2+
2024/12/26 23:15:32 Fetched posts from https://highgrowthengineering.substack.com/feed, took 61.85714ms
3+
2024/12/26 23:15:32 error parsing https://themargins.substack.com/feed.xml: http error: 403 Forbidden
4+
2024/12/26 23:15:32 Fetched posts from https://themargins.substack.com/feed.xml, took 61.628363ms
5+
2024/12/26 23:15:32 Fetched posts from https://www.benkuhn.net/index.xml, took 83.350331ms
6+
2024/12/26 23:15:32 Fetched posts from https://www.slowernews.com/rss.xml, took 89.125077ms
7+
2024/12/26 23:15:32 Fetched posts from https://twobithistory.org/feed.xml, took 100.857103ms
8+
2024/12/26 23:15:32 error parsing https://mikehudack.substack.com/feed: http error: 403 Forbidden
9+
2024/12/26 23:15:32 Fetched posts from https://mikehudack.substack.com/feed, took 106.063614ms
10+
2024/12/26 23:15:32 Fetched posts from https://macwright.com/rss.xml, took 158.88442ms
11+
2024/12/26 23:15:32 Fetched posts from https://anewsletter.alisoneroman.com/feed, took 180.959734ms
12+
2024/12/26 23:15:32 Fetched posts from https://blog.golang.org/feed.atom?format=xml, took 184.363081ms
13+
2024/12/26 23:15:32 Fetched posts from https://joy.recurse.com/feed.atom, took 221.879775ms
14+
2024/12/26 23:15:32 Fetched posts from https://routley.io/reserialised/great-expectations/2022-08-24/index.xml, took 274.070261ms
15+
2024/12/26 23:15:32 Fetched posts from https://danluu.com/atom.xml, took 338.635127ms
16+
2024/12/26 23:15:32 Fetched posts from https://jvns.ca/atom.xml, took 363.603225ms
17+
2024/12/26 23:15:32 Fetched posts from https://www.wildlondon.org.uk/blog/all/rss.xml, took 385.047137ms
18+
2024/12/26 23:15:33 Fetched posts from https://scattered-thoughts.net/rss.xml, took 396.887319ms
19+
2024/12/26 23:15:33 Fetched posts from https://blog.veitheller.de/feed.rss, took 759.364054ms
20+
2024/12/26 23:15:33 Content still empty after HTML reader: https://ghostty.org/
21+
2024/12/26 23:15:33 Fetched posts from http://tonsky.me/blog/atom.xml, took 961.154162ms
22+
2024/12/26 23:15:33 Fetched posts from https://solar.lowtechmagazine.com/feeds/all-en.atom.xml, took 1.147067621s
23+
2024/12/26 23:15:34 Fetched posts from https://commoncog.com/blog/rss/, took 1.741282786s
24+
2024/12/26 23:15:34 Content still empty after HTML reader: https://vrklovespaper.substack.com/p/software-for-stationery-lovers
25+
2024/12/26 23:15:35 Content still empty after HTML reader: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision
26+
2024/12/26 23:15:35 Fetched posts from https://gochugarugirl.com/feed/, took 3.00015449s
27+
2024/12/26 23:15:36 Content still empty after HTML reader: https://pbat.ch/recurse/demos/trio/
28+
2024/12/26 23:15:36 Content still empty after HTML reader: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp
29+
2024/12/26 23:15:38 Fetched posts from https://hnrss.org/frontpage?points=50, took 6.199136507s
30+
2024/12/26 23:15:38 Fetched posts from https://blaggregator.recurse.com/atom.xml?token=4c4c4e40044244aab4a36e681dfb8fb0, took 6.237129852s
31+
2024/12/26 23:16:02 error parsing https://rachelbythebay.com/w/atom.xml: Get "https://rachelbythebay.com/w/atom.xml": dial tcp 216.218.228.215:443: i/o timeout
32+
2024/12/26 23:16:02 Fetched posts from https://rachelbythebay.com/w/atom.xml, took 30.005210497s
33+
2024/12/26 23:16:02 Skipping writing post, no content: https://ghostty.org/
34+
2024/12/26 23:16:02 Skipping writing post, no content: https://vrklovespaper.substack.com/p/software-for-stationery-lovers
35+
2024/12/26 23:16:02 Skipping writing post, no content: https://pbat.ch/recurse/demos/trio/
36+
2024/12/26 23:16:02 Skipping writing post, no content: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision
37+
2024/12/26 23:16:02 Skipping writing post, no content: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp
38+
2024/12/26 23:16:02 Templated 42 posts, took 7.258332ms

docs/posts/a-tour-of-webauthn.html

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,13 @@ <h1>A Tour of WebAuthn</h1>
1919

2020
<div id="readability-page-1" class="page">
2121
<p>This book was distributed at the FIDO Authenticate conference in
22-
2024. Its intended format was as a PDF, which you can find <a href="https://www.imperialviolet.org/tourofwebauthn/tourofwebauthn.pdf">here</a>.</p>
22+
2024. Its intended format was as a PDF, which you can find <a href="https://ntietz.com/blog/feel-dont-think/tourofwebauthn.pdf">here</a>.</p>
2323
<p>The following is the contents of the PDF converted to HTML.</p>
24+
<header id="title-block-header">
2425

26+
27+
<p>2024-12-23</p>
28+
</header>
2529
<nav id="TOC" role="doc-toc">
2630
<ul>
2731
<li><a href="#chapter-introduction" id="toc-chapter-introduction">1:
@@ -367,9 +371,9 @@ <h3 id="invoking-the-generate-operation">Invoking the
367371
<span id="cb1-19"><a href="#cb1-19" aria-hidden="true" tabindex="-1"></a>})<span>.</span><span>then</span>(<span>console</span><span>.</span><span>log</span><span>,</span> <span>console</span><span>.</span><span>log</span>)<span>;</span></span></code></pre></div>
368372
<p>Here is the message sent by the browser, to the U2F security key,
369373
broken down into the same parts as listed above.</p>
370-
<p><img src="https://www.imperialviolet.org/tourofwebauthn/u2f-1.png"/></p>
374+
<p><img src="https://ntietz.com/blog/feel-dont-think/u2f-1.png"/></p>
371375
<p>And here’s the response, similarly broken down:</p>
372-
<p><img src="https://www.imperialviolet.org/tourofwebauthn/u2f-2.png"/></p>
376+
<p><img src="https://ntietz.com/blog/feel-dont-think/u2f-2.png"/></p>
373377
<p>(Note that the UP flag was set in the request so you know that I had
374378
to touch the security key before it would generate that response.)</p>
375379
<p>Now that we have performed a <code>generate</code> operation, the
@@ -1557,7 +1561,7 @@ <h3 id="authenticator-data">Authenticator data</h3>
15571561
transformation would change the bits and cause the signature
15581562
verification to fail. So here you have to deal with a binary format; no
15591563
more Javascript objects.</p>
1560-
<p><img src="https://www.imperialviolet.org/tourofwebauthn/authdata.svg"/></p>
1564+
<p><img src="https://ntietz.com/blog/feel-dont-think/authdata.svg"/></p>
15611565
<p>You might notice that looks very similar to the signed message format
15621566
in the U2F protocol. That is no accident! Since this data cannot be
15631567
modified, in order to be backwards compatible the format has only been
@@ -1899,7 +1903,7 @@ <h2 id="considerations-when-choosing-an-rp-id">Considerations when
18991903
(See <a href="#prf">here</a>.)</p>
19001904
<p>All this means that the choice of RP ID needs to be considered
19011905
carefully at the beginning of any deployment.</p>
1902-
1906+
<h2 id="related-origins">Related origins</h2>
19031907
<p>As described above, you have a lot more freedom with the native APIs
19041908
than you do on the web. With the native APIs, you can nominate many apps
19051909
to be able to use your RP ID, but the rules on the web don’t allow any
@@ -2421,7 +2425,7 @@ <h2 id="getting-attestation">Getting attestation</h2>
24212425
<a href="#authdata">here</a>) except that it will have the AT flag set,
24222426
indicating that “ATtested credential data” follows the signature
24232427
counter. This new data has the following format:</p>
2424-
<p><img src="https://www.imperialviolet.org/tourofwebauthn/at.svg"/></p>
2428+
<p><img src="https://ntietz.com/blog/feel-dont-think/at.svg"/></p>
24252429
<p><span id="aaguid"></span> The AAGUID is a random, 16-byte value that
24262430
identifies a model of security key and is used when validating the
24272431
attestation. The variable-length credential ID is as explained in

0 commit comments

Comments
 (0)