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 14ef765 commit d5be141
Show file tree
Hide file tree
Showing 8 changed files with 67 additions and 736 deletions.
45 changes: 18 additions & 27 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,15 @@ <h1>News</h1>



<li>
<a href="https://godview.ai">Show HN: Map with an LLM</a> (godview.ai)
</li>







<li>
<a href="posts/bill-requiring-us-agencies-to-share-source-code-with-each-other-becomes-law.html">Bill requiring US agencies to share source code with each other becomes law</a> (fedscoop.com)
Expand Down Expand Up @@ -52,6 +61,15 @@ <h1>News</h1>



<li>
<a href="https://www.cell.com/device/fulltext/S2666-9986%2824%2900583-0?_returnURL=https%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS2666998624005830%3Fshowall%3Dtrue">Magnetic swarm intelligence of mass-produced, programmable microrobot assemblies</a> (www.cell.com)
</li>







<li>
<a href="posts/sub-pixel-distance-transform-2023.html">Sub-pixel distance transform (2023)</a> (acko.net)
Expand Down Expand Up @@ -160,15 +178,6 @@ <h1>News</h1>



<li>
<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/lffs-simplicity-vs-efficiency.html">LFFS: Simplicity vs Efficiency</a> (bytes.zone)
Expand Down Expand Up @@ -197,24 +206,6 @@ <h1>News</h1>



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






<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)
</li>






<li>
<a href="posts/into-cps-never-to-return.html">Into CPS, never to return</a> (bernsteinbear.com)
</li>
Expand Down
80 changes: 41 additions & 39 deletions docs/log.txt
Original file line number Diff line number Diff line change
@@ -1,39 +1,41 @@
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
2024/12/27 09:16:48 error parsing https://themargins.substack.com/feed.xml: http error: 403 Forbidden
2024/12/27 09:16:48 Fetched posts from https://themargins.substack.com/feed.xml, took 50.741413ms
2024/12/27 09:16:48 error parsing https://highgrowthengineering.substack.com/feed: http error: 403 Forbidden
2024/12/27 09:16:48 Fetched posts from https://highgrowthengineering.substack.com/feed, took 53.288269ms
2024/12/27 09:16:48 error parsing https://mikehudack.substack.com/feed: http error: 403 Forbidden
2024/12/27 09:16:48 Fetched posts from https://mikehudack.substack.com/feed, took 56.298553ms
2024/12/27 09:16:48 Fetched posts from https://macwright.com/rss.xml, took 66.031546ms
2024/12/27 09:16:48 Fetched posts from https://www.slowernews.com/rss.xml, took 126.546313ms
2024/12/27 09:16:48 Fetched posts from https://jvns.ca/atom.xml, took 159.691037ms
2024/12/27 09:16:48 Fetched posts from https://anewsletter.alisoneroman.com/feed, took 180.502268ms
2024/12/27 09:16:48 Fetched posts from https://www.benkuhn.net/index.xml, took 181.65854ms
2024/12/27 09:16:48 Fetched posts from https://twobithistory.org/feed.xml, took 186.34201ms
2024/12/27 09:16:48 Fetched posts from https://joy.recurse.com/feed.atom, took 230.310921ms
2024/12/27 09:16:48 Fetched posts from https://blog.golang.org/feed.atom?format=xml, took 283.631641ms
2024/12/27 09:16:48 Fetched posts from https://routley.io/reserialised/great-expectations/2022-08-24/index.xml, took 325.360739ms
2024/12/27 09:16:48 Fetched posts from https://danluu.com/atom.xml, took 336.479706ms
2024/12/27 09:16:48 Fetched posts from https://scattered-thoughts.net/rss.xml, took 352.105612ms
2024/12/27 09:16:48 Fetched posts from https://www.wildlondon.org.uk/blog/all/rss.xml, took 392.788785ms
2024/12/27 09:16:49 Fetched posts from https://blog.veitheller.de/feed.rss, took 669.405426ms
2024/12/27 09:16:49 Fetched posts from https://rachelbythebay.com/w/atom.xml, took 671.727916ms
2024/12/27 09:16:49 Get "https://eyeondesign.aiga.org/why-did-so-many-mid-century-designers-make-childrens-books/": tls: failed to verify certificate: x509: certificate signed by unknown authority
2024/12/27 09:16:49 Fetched posts from http://tonsky.me/blog/atom.xml, took 1.050119671s
2024/12/27 09:16:49 Content still empty after HTML reader: https://godview.ai
2024/12/27 09:16:50 Content still empty after HTML reader: https://vrklovespaper.substack.com/p/software-for-stationery-lovers
2024/12/27 09:16:50 Content still empty after HTML reader: https://www.cell.com/device/fulltext/S2666-9986(24)00583-0?_returnURL=https%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS2666998624005830%3Fshowall%3Dtrue
2024/12/27 09:16:50 Fetched posts from https://commoncog.com/blog/rss/, took 1.926206582s
2024/12/27 09:16:50 Content still empty after HTML reader: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision
2024/12/27 09:16:51 Content still empty after HTML reader: https://ghostty.org/
2024/12/27 09:16:51 Fetched posts from https://gochugarugirl.com/feed/, took 3.092018395s
2024/12/27 09:16:52 Content still empty after HTML reader: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp
2024/12/27 09:16:53 Fetched posts from https://blaggregator.recurse.com/atom.xml?token=4c4c4e40044244aab4a36e681dfb8fb0, took 5.044193592s
2024/12/27 09:16:54 Fetched posts from https://hnrss.org/frontpage?points=50, took 5.535378431s
2024/12/27 09:17:18 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 09:17:18 Fetched posts from https://solar.lowtechmagazine.com/feeds/all-en.atom.xml, took 30.005048588s
2024/12/27 09:17:18 Skipping writing post, no content: https://godview.ai
2024/12/27 09:17:18 Skipping writing post, no content: https://www.cell.com/device/fulltext/S2666-9986(24)00583-0?_returnURL=https%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS2666998624005830%3Fshowall%3Dtrue
2024/12/27 09:17:18 Skipping writing post, no content: https://ghostty.org/
2024/12/27 09:17:18 Skipping writing post, no content: https://vrklovespaper.substack.com/p/software-for-stationery-lovers
2024/12/27 09:17:18 Skipping writing post, no content: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision
2024/12/27 09:17:18 Skipping writing post, no content: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp
2024/12/27 09:17:18 Templated 37 posts, took 5.834171ms
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.imperialviolet.org/tourofwebauthn/tourofwebauthn.pdf">here</a>.</p>
2024. Its intended format was as a PDF, which you can find <a href="https://writing.natwelch.com/post/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.imperialviolet.org/tourofwebauthn/u2f-1.png"/></p>
<p><img src="https://writing.natwelch.com/post/u2f-1.png"/></p>
<p>And here’s the response, similarly broken down:</p>
<p><img src="https://www.imperialviolet.org/tourofwebauthn/u2f-2.png"/></p>
<p><img src="https://writing.natwelch.com/post/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.imperialviolet.org/tourofwebauthn/authdata.svg"/></p>
<p><img src="https://writing.natwelch.com/post/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.imperialviolet.org/tourofwebauthn/at.svg"/></p>
<p><img src="https://writing.natwelch.com/post/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.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>
<a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/1186124/398305556-c3b64a4a-2e74-4180-9a4a-dfbbd6224b77.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzUyOTEzMTEsIm5iZiI6MTczNTI5MTAxMSwicGF0aCI6Ii8xMTg2MTI0LzM5ODMwNTU1Ni1jM2I2NGE0YS0yZTc0LTQxODAtOWE0YS1kZmJiZDYyMjRiNzcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MTIyNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDEyMjdUMDkxNjUxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NTVkYTA0YmFmZTg0NTFmNGE2YjIzNDdlZDM3MDkzZWZkMzE2ZTE0YTFlYzhkYmI5OTAyOTFjN2U1Yjc5YjY5MyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.nOqFWW0d1m_CoUfMrA5TGaM0Jus5u4H-u6OBN_Py83c"><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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzUyOTEzMTEsIm5iZiI6MTczNTI5MTAxMSwicGF0aCI6Ii8xMTg2MTI0LzM5ODMwNTU1Ni1jM2I2NGE0YS0yZTc0LTQxODAtOWE0YS1kZmJiZDYyMjRiNzcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MTIyNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDEyMjdUMDkxNjUxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NTVkYTA0YmFmZTg0NTFmNGE2YjIzNDdlZDM3MDkzZWZkMzE2ZTE0YTFlYzhkYmI5OTAyOTFjN2U1Yjc5YjY5MyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.nOqFWW0d1m_CoUfMrA5TGaM0Jus5u4H-u6OBN_Py83c"/></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 d5be141

Please sign in to comment.