Skip to content

Commit

Permalink
Build website (automatic)
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesroutley authored and github-actions[bot] committed Dec 27, 2024
1 parent 5fde947 commit 14ef765
Show file tree
Hide file tree
Showing 9 changed files with 65 additions and 118 deletions.
14 changes: 7 additions & 7 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -160,18 +160,18 @@ <h1>News</h1>




<li>
<a href="posts/lffs-simplicity-vs-efficiency.html">LFFS: Simplicity vs Efficiency</a> (bytes.zone)
<a href="https://pbat.ch/recurse/demos/trio/">Show HN: A singing synthesizer for the browser with automatic 3-part harmony</a> (pbat.ch)
</li>







<li>
<a href="posts/differential-growth-addon-for-blender.html">Differential Growth Addon for Blender</a> (boris.okunskiy.name)
<a href="posts/lffs-simplicity-vs-efficiency.html">LFFS: Simplicity vs Efficiency</a> (bytes.zone)
</li>


Expand All @@ -180,7 +180,7 @@ <h1>News</h1>


<li>
<a href="posts/a-minecraft-server-written-in-cobol.html">A Minecraft server written in COBOL</a> (github.com)
<a href="posts/differential-growth-addon-for-blender.html">Differential Growth Addon for Blender</a> (boris.okunskiy.name)
</li>


Expand All @@ -189,7 +189,7 @@ <h1>News</h1>


<li>
<a href="posts/blackcandy-self-hosted-music-streaming-server.html">Blackcandy: Self hosted music streaming server</a> (github.com)
<a href="posts/a-minecraft-server-written-in-cobol.html">A Minecraft server written in COBOL</a> (github.com)
</li>


Expand All @@ -198,7 +198,7 @@ <h1>News</h1>


<li>
<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)
<a href="posts/blackcandy-self-hosted-music-streaming-server.html">Blackcandy: Self hosted music streaming server</a> (github.com)
</li>


Expand All @@ -207,7 +207,7 @@ <h1>News</h1>


<li>
<a href="posts/seconds-since-the-epoch.html">Seconds Since the Epoch</a> (aphyr.com)
<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)
</li>


Expand Down
75 changes: 39 additions & 36 deletions docs/log.txt
Original file line number Diff line number Diff line change
@@ -1,36 +1,39 @@
2024/12/27 07:16:18 error parsing https://mikehudack.substack.com/feed: http error: 403 Forbidden
2024/12/27 07:16:18 Fetched posts from https://mikehudack.substack.com/feed, took 117.313764ms
2024/12/27 07:16:18 Fetched posts from https://macwright.com/rss.xml, took 135.973129ms
2024/12/27 07:16:18 Fetched posts from https://www.slowernews.com/rss.xml, took 147.64943ms
2024/12/27 07:16:18 error parsing https://highgrowthengineering.substack.com/feed: http error: 403 Forbidden
2024/12/27 07:16:18 Fetched posts from https://highgrowthengineering.substack.com/feed, took 148.765593ms
2024/12/27 07:16:18 error parsing https://themargins.substack.com/feed.xml: http error: 403 Forbidden
2024/12/27 07:16:18 Fetched posts from https://themargins.substack.com/feed.xml, took 171.272395ms
2024/12/27 07:16:18 Fetched posts from https://www.benkuhn.net/index.xml, took 181.137686ms
2024/12/27 07:16:18 Fetched posts from https://twobithistory.org/feed.xml, took 199.933495ms
2024/12/27 07:16:18 Fetched posts from https://anewsletter.alisoneroman.com/feed, took 275.345581ms
2024/12/27 07:16:18 Fetched posts from https://jvns.ca/atom.xml, took 312.893972ms
2024/12/27 07:16:18 Fetched posts from https://rachelbythebay.com/w/atom.xml, took 322.411731ms
2024/12/27 07:16:19 Fetched posts from https://routley.io/reserialised/great-expectations/2022-08-24/index.xml, took 364.471222ms
2024/12/27 07:16:19 Fetched posts from https://scattered-thoughts.net/rss.xml, took 367.857073ms
2024/12/27 07:16:19 Fetched posts from https://danluu.com/atom.xml, took 438.726327ms
2024/12/27 07:16:19 Fetched posts from https://blog.golang.org/feed.atom?format=xml, took 510.938792ms
2024/12/27 07:16:19 Fetched posts from https://joy.recurse.com/feed.atom, took 535.086435ms
2024/12/27 07:16:19 Fetched posts from https://www.wildlondon.org.uk/blog/all/rss.xml, took 625.072463ms
2024/12/27 07:16:19 Fetched posts from https://blog.veitheller.de/feed.rss, took 1.09591281s
2024/12/27 07:16:20 Fetched posts from http://tonsky.me/blog/atom.xml, took 1.431810052s
2024/12/27 07:16:20 Fetched posts from https://commoncog.com/blog/rss/, took 1.579465853s
2024/12/27 07:16:20 Content still empty after HTML reader: https://vrklovespaper.substack.com/p/software-for-stationery-lovers
2024/12/27 07:16:21 Content still empty after HTML reader: https://ghostty.org/
2024/12/27 07:16:21 Content still empty after HTML reader: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision
2024/12/27 07:16:22 Fetched posts from https://gochugarugirl.com/feed/, took 3.636879395s
2024/12/27 07:16:24 Content still empty after HTML reader: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp
2024/12/27 07:16:25 Fetched posts from https://hnrss.org/frontpage?points=50, took 6.654702792s
2024/12/27 07:16:26 Fetched posts from https://blaggregator.recurse.com/atom.xml?token=4c4c4e40044244aab4a36e681dfb8fb0, took 7.782726305s
2024/12/27 07:16:48 error parsing https://solar.lowtechmagazine.com/feeds/all-en.atom.xml: Get "https://solar.lowtechmagazine.com/feeds/all-en.atom.xml": dial tcp 84.79.2.129:443: i/o timeout
2024/12/27 07:16:48 Fetched posts from https://solar.lowtechmagazine.com/feeds/all-en.atom.xml, took 30.002464869s
2024/12/27 07:16:48 Skipping writing post, no content: https://ghostty.org/
2024/12/27 07:16:48 Skipping writing post, no content: https://vrklovespaper.substack.com/p/software-for-stationery-lovers
2024/12/27 07:16:48 Skipping writing post, no content: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision
2024/12/27 07:16:48 Skipping writing post, no content: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp
2024/12/27 07:16:48 Templated 38 posts, took 6.649781ms
2024/12/27 08:20:50 error parsing https://themargins.substack.com/feed.xml: http error: 403 Forbidden
2024/12/27 08:20:50 Fetched posts from https://themargins.substack.com/feed.xml, took 60.833794ms
2024/12/27 08:20:50 Fetched posts from https://macwright.com/rss.xml, took 72.094551ms
2024/12/27 08:20:50 Fetched posts from https://www.slowernews.com/rss.xml, took 113.098537ms
2024/12/27 08:20:50 error parsing https://highgrowthengineering.substack.com/feed: http error: 403 Forbidden
2024/12/27 08:20:50 Fetched posts from https://highgrowthengineering.substack.com/feed, took 114.856415ms
2024/12/27 08:20:50 error parsing https://mikehudack.substack.com/feed: http error: 403 Forbidden
2024/12/27 08:20:50 Fetched posts from https://mikehudack.substack.com/feed, took 118.842722ms
2024/12/27 08:20:50 Fetched posts from https://jvns.ca/atom.xml, took 163.186615ms
2024/12/27 08:20:50 Fetched posts from https://www.benkuhn.net/index.xml, took 170.511037ms
2024/12/27 08:20:50 Fetched posts from https://anewsletter.alisoneroman.com/feed, took 173.794744ms
2024/12/27 08:20:50 Fetched posts from https://joy.recurse.com/feed.atom, took 216.169263ms
2024/12/27 08:20:50 Fetched posts from https://twobithistory.org/feed.xml, took 216.550607ms
2024/12/27 08:20:50 Fetched posts from https://www.wildlondon.org.uk/blog/all/rss.xml, took 241.838437ms
2024/12/27 08:20:50 Fetched posts from https://danluu.com/atom.xml, took 331.752707ms
2024/12/27 08:20:50 Fetched posts from https://routley.io/reserialised/great-expectations/2022-08-24/index.xml, took 356.324134ms
2024/12/27 08:20:50 Fetched posts from https://blog.golang.org/feed.atom?format=xml, took 373.247093ms
2024/12/27 08:20:50 Fetched posts from https://scattered-thoughts.net/rss.xml, took 429.741121ms
2024/12/27 08:20:51 Fetched posts from https://blog.veitheller.de/feed.rss, took 658.667123ms
2024/12/27 08:20:51 Fetched posts from http://tonsky.me/blog/atom.xml, took 935.045349ms
2024/12/27 08:20:51 Content still empty after HTML reader: https://vrklovespaper.substack.com/p/software-for-stationery-lovers
2024/12/27 08:20:52 Fetched posts from https://commoncog.com/blog/rss/, took 1.838887457s
2024/12/27 08:20:52 Content still empty after HTML reader: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision
2024/12/27 08:20:53 Fetched posts from https://gochugarugirl.com/feed/, took 3.213724908s
2024/12/27 08:20:53 Content still empty after HTML reader: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp
2024/12/27 08:20:55 Fetched posts from https://blaggregator.recurse.com/atom.xml?token=4c4c4e40044244aab4a36e681dfb8fb0, took 4.84491677s
2024/12/27 08:20:56 Content still empty after HTML reader: https://ghostty.org/
2024/12/27 08:20:58 Content still empty after HTML reader: https://pbat.ch/recurse/demos/trio/
2024/12/27 08:20:59 Fetched posts from https://hnrss.org/frontpage?points=50, took 9.524747276s
2024/12/27 08:21:20 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
2024/12/27 08:21:20 Fetched posts from https://rachelbythebay.com/w/atom.xml, took 30.005509401s
2024/12/27 08:21:20 error parsing https://solar.lowtechmagazine.com/feeds/all-en.atom.xml: Get "https://solar.lowtechmagazine.com/feeds/all-en.atom.xml": dial tcp 84.79.2.129:443: i/o timeout
2024/12/27 08:21:20 Fetched posts from https://solar.lowtechmagazine.com/feeds/all-en.atom.xml, took 30.006219707s
2024/12/27 08:21:20 Skipping writing post, no content: https://ghostty.org/
2024/12/27 08:21:20 Skipping writing post, no content: https://vrklovespaper.substack.com/p/software-for-stationery-lovers
2024/12/27 08:21:20 Skipping writing post, no content: https://pbat.ch/recurse/demos/trio/
2024/12/27 08:21:20 Skipping writing post, no content: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision
2024/12/27 08:21:20 Skipping writing post, no content: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp
2024/12/27 08:21:20 Templated 38 posts, took 6.671758ms
10 changes: 5 additions & 5 deletions docs/posts/a-tour-of-webauthn.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ <h1>A Tour of WebAuthn</h1>

<div id="readability-page-1" class="page">
<p>This book was distributed at the FIDO Authenticate conference in
2024. Its intended format was as a PDF, which you can find <a href="https://www.geoffreylitt.com/2024/12/22/tourofwebauthn.pdf">here</a>.</p>
2024. Its intended format was as a PDF, which you can find <a href="https://www.imperialviolet.org/tourofwebauthn/tourofwebauthn.pdf">here</a>.</p>
<p>The following is the contents of the PDF converted to HTML.</p>

<nav id="TOC" role="doc-toc">
Expand Down Expand Up @@ -367,9 +367,9 @@ <h3 id="invoking-the-generate-operation">Invoking the
<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>
<p>Here is the message sent by the browser, to the U2F security key,
broken down into the same parts as listed above.</p>
<p><img src="https://www.geoffreylitt.com/2024/12/22/u2f-1.png"/></p>
<p><img src="https://www.imperialviolet.org/tourofwebauthn/u2f-1.png"/></p>
<p>And here’s the response, similarly broken down:</p>
<p><img src="https://www.geoffreylitt.com/2024/12/22/u2f-2.png"/></p>
<p><img src="https://www.imperialviolet.org/tourofwebauthn/u2f-2.png"/></p>
<p>(Note that the UP flag was set in the request so you know that I had
to touch the security key before it would generate that response.)</p>
<p>Now that we have performed a <code>generate</code> operation, the
Expand Down Expand Up @@ -1557,7 +1557,7 @@ <h3 id="authenticator-data">Authenticator data</h3>
transformation would change the bits and cause the signature
verification to fail. So here you have to deal with a binary format; no
more Javascript objects.</p>
<p><img src="https://www.geoffreylitt.com/2024/12/22/authdata.svg"/></p>
<p><img src="https://www.imperialviolet.org/tourofwebauthn/authdata.svg"/></p>
<p>You might notice that looks very similar to the signed message format
in the U2F protocol. That is no accident! Since this data cannot be
modified, in order to be backwards compatible the format has only been
Expand Down Expand Up @@ -2421,7 +2421,7 @@ <h2 id="getting-attestation">Getting attestation</h2>
<a href="#authdata">here</a>) except that it will have the AT flag set,
indicating that “ATtested credential data” follows the signature
counter. This new data has the following format:</p>
<p><img src="https://www.geoffreylitt.com/2024/12/22/at.svg"/></p>
<p><img src="https://www.imperialviolet.org/tourofwebauthn/at.svg"/></p>
<p><span id="aaguid"></span> The AAGUID is a random, 16-byte value that
identifies a model of security key and is used when validating the
attestation. The variable-length credential ID is as explained in
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ <h1>bad research idea: false statements in e-graphs</h1>
<td>
<p dir="auto">OK after much squinting at the progression of rewrite rules... I think I have found an example of where the logic goes wrong.</p>
<p dir="auto">Can you spot the error?</p>
<a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/1186124/398305556-c3b64a4a-2e74-4180-9a4a-dfbbd6224b77.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzUyODQwODMsIm5iZiI6MTczNTI4Mzc4MywicGF0aCI6Ii8xMTg2MTI0LzM5ODMwNTU1Ni1jM2I2NGE0YS0yZTc0LTQxODAtOWE0YS1kZmJiZDYyMjRiNzcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MTIyNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDEyMjdUMDcxNjIzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZWIxODg0ZTRlNDkyMGVkM2FmNDE3ZTBlMjMzMWNmNTZkM2MzYmFjYzMxNjhmMGI1ZTk0NjRiMWZhNzk3ZDM3NyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.XKUe8LbVw2Ympe3am7d9UGpRp_KNKlYOW7h7sApyRl0"><img width="1324" alt="Screenshot 2024-12-23 at 10 06 52 PM" src="https://private-user-images.githubusercontent.com/1186124/398305556-c3b64a4a-2e74-4180-9a4a-dfbbd6224b77.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzUyODQwODMsIm5iZiI6MTczNTI4Mzc4MywicGF0aCI6Ii8xMTg2MTI0LzM5ODMwNTU1Ni1jM2I2NGE0YS0yZTc0LTQxODAtOWE0YS1kZmJiZDYyMjRiNzcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MTIyNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDEyMjdUMDcxNjIzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZWIxODg0ZTRlNDkyMGVkM2FmNDE3ZTBlMjMzMWNmNTZkM2MzYmFjYzMxNjhmMGI1ZTk0NjRiMWZhNzk3ZDM3NyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.XKUe8LbVw2Ympe3am7d9UGpRp_KNKlYOW7h7sApyRl0"/></a>
<a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/1186124/398305556-c3b64a4a-2e74-4180-9a4a-dfbbd6224b77.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzUyODc5NTMsIm5iZiI6MTczNTI4NzY1MywicGF0aCI6Ii8xMTg2MTI0LzM5ODMwNTU1Ni1jM2I2NGE0YS0yZTc0LTQxODAtOWE0YS1kZmJiZDYyMjRiNzcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MTIyNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDEyMjdUMDgyMDUzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZjM5MDYyNTY4YWYyNDIzODkxYjYzMjA5NTAxODVmMDE0NmE5MTJmMDhkOWNhZmYyN2RhYzYxYWVkNWMwMTY3NyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.0xGdUyxSpfQ-Ga3-PdnCROBaMEGMAT7mwQpgTFhFP_M"><img width="1324" alt="Screenshot 2024-12-23 at 10 06 52 PM" src="https://private-user-images.githubusercontent.com/1186124/398305556-c3b64a4a-2e74-4180-9a4a-dfbbd6224b77.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzUyODc5NTMsIm5iZiI6MTczNTI4NzY1MywicGF0aCI6Ii8xMTg2MTI0LzM5ODMwNTU1Ni1jM2I2NGE0YS0yZTc0LTQxODAtOWE0YS1kZmJiZDYyMjRiNzcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MTIyNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDEyMjdUMDgyMDUzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZjM5MDYyNTY4YWYyNDIzODkxYjYzMjA5NTAxODVmMDE0NmE5MTJmMDhkOWNhZmYyN2RhYzYxYWVkNWMwMTY3NyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.0xGdUyxSpfQ-Ga3-PdnCROBaMEGMAT7mwQpgTFhFP_M"/></a>
<p dir="auto">The issue here is that the empty int list <code>TupleInt.EMPTY</code> is unified with <code>TupleInt(0, partial(lambda i, self, j: Int.if_(j == self.length(), i, self[j])), 101, TupleInt.empty)</code> aka <code>TupleInt(0, lambda j: Int.if_(j == 0, 101, TupleInt.EMPTY[j])))</code></p>
<p dir="auto">Now let&#39;s say we do a naive index the empty list like <code>TupleInt.EMPTY[0]</code>. We could say this incorrect, or how we can represent it is that it unifies with <code>Int.NEVER</code>. But it can show up in the e-graph, because in <code>if_</code> conditionals, the false branch can end up doing indexing that is not allowed. So we want it to not mess things up.</p>
<p dir="auto">And in this case then, it will evaluate to <code>(lambda j: Int.if_(j == 0, 101, TupleInt.EMPTY[j])))(0)</code> which is <code>Int.if_(0 == 0, 101, TupleInt.EMPTY[0]))</code> which is <code>101</code>... So then what we get is that <code>101</code> is unified with <code>Int.NEVER</code> which... isn&#39;t good! Is really bad! Because it means all numbers can be unified together basically, i.e. false is true whatever.</p>
Expand Down
Loading

0 comments on commit 14ef765

Please sign in to comment.