diff --git a/docs/log.txt b/docs/log.txt index 8d175c3c3df..3cc09107d0c 100644 --- a/docs/log.txt +++ b/docs/log.txt @@ -1,38 +1,38 @@ -2024/12/27 02:47:31 error parsing https://highgrowthengineering.substack.com/feed: http error: 403 Forbidden -2024/12/27 02:47:31 Fetched posts from https://highgrowthengineering.substack.com/feed, took 60.112911ms -2024/12/27 02:47:31 error parsing https://mikehudack.substack.com/feed: http error: 403 Forbidden -2024/12/27 02:47:31 Fetched posts from https://mikehudack.substack.com/feed, took 62.035916ms -2024/12/27 02:47:31 error parsing https://themargins.substack.com/feed.xml: http error: 403 Forbidden -2024/12/27 02:47:31 Fetched posts from https://themargins.substack.com/feed.xml, took 62.79594ms -2024/12/27 02:47:31 Fetched posts from https://www.benkuhn.net/index.xml, took 87.917751ms -2024/12/27 02:47:31 Fetched posts from https://anewsletter.alisoneroman.com/feed, took 132.808925ms -2024/12/27 02:47:31 Fetched posts from https://macwright.com/rss.xml, took 136.388221ms -2024/12/27 02:47:31 Fetched posts from https://www.slowernews.com/rss.xml, took 163.66413ms -2024/12/27 02:47:31 Fetched posts from https://blog.golang.org/feed.atom?format=xml, took 181.89485ms -2024/12/27 02:47:31 Fetched posts from https://twobithistory.org/feed.xml, took 198.521602ms -2024/12/27 02:47:31 Fetched posts from https://routley.io/reserialised/great-expectations/2022-08-24/index.xml, took 242.951395ms -2024/12/27 02:47:31 Fetched posts from https://joy.recurse.com/feed.atom, took 245.587462ms -2024/12/27 02:47:31 Fetched posts from https://danluu.com/atom.xml, took 289.656845ms -2024/12/27 02:47:31 Fetched posts from https://jvns.ca/atom.xml, took 316.658514ms -2024/12/27 02:47:31 Fetched posts from https://scattered-thoughts.net/rss.xml, took 381.944774ms -2024/12/27 02:47:31 Fetched posts from https://www.wildlondon.org.uk/blog/all/rss.xml, took 531.161161ms -2024/12/27 02:47:32 Fetched posts from https://blog.veitheller.de/feed.rss, took 751.780731ms -2024/12/27 02:47:32 Fetched posts from https://solar.lowtechmagazine.com/feeds/all-en.atom.xml, took 1.027190077s -2024/12/27 02:47:32 Fetched posts from http://tonsky.me/blog/atom.xml, took 1.242354165s -2024/12/27 02:47:32 Content still empty after HTML reader: https://vrklovespaper.substack.com/p/software-for-stationery-lovers -2024/12/27 02:47:32 Content still empty after HTML reader: https://ghostty.org/ -2024/12/27 02:47:32 Fetched posts from https://commoncog.com/blog/rss/, took 1.636539148s -2024/12/27 02:47:33 Content still empty after HTML reader: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision -2024/12/27 02:47:34 Fetched posts from https://gochugarugirl.com/feed/, took 3.432662507s -2024/12/27 02:47:35 Content still empty after HTML reader: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp -2024/12/27 02:47:35 Content still empty after HTML reader: https://pbat.ch/recurse/demos/trio/ -2024/12/27 02:47:37 Fetched posts from https://blaggregator.recurse.com/atom.xml?token=4c4c4e40044244aab4a36e681dfb8fb0, took 6.119607051s -2024/12/27 02:47:38 Fetched posts from https://hnrss.org/frontpage?points=50, took 6.645990068s -2024/12/27 02:48:01 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 02:48:01 Fetched posts from https://rachelbythebay.com/w/atom.xml, took 30.006134371s -2024/12/27 02:48:01 Skipping writing post, no content: https://ghostty.org/ -2024/12/27 02:48:01 Skipping writing post, no content: https://vrklovespaper.substack.com/p/software-for-stationery-lovers -2024/12/27 02:48:01 Skipping writing post, no content: https://pbat.ch/recurse/demos/trio/ -2024/12/27 02:48:01 Skipping writing post, no content: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision -2024/12/27 02:48:01 Skipping writing post, no content: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp -2024/12/27 02:48:01 Templated 41 posts, took 6.449987ms +2024/12/27 03:20:24 error parsing https://highgrowthengineering.substack.com/feed: http error: 403 Forbidden +2024/12/27 03:20:24 Fetched posts from https://highgrowthengineering.substack.com/feed, took 56.068852ms +2024/12/27 03:20:24 error parsing https://themargins.substack.com/feed.xml: http error: 403 Forbidden +2024/12/27 03:20:24 Fetched posts from https://themargins.substack.com/feed.xml, took 60.413588ms +2024/12/27 03:20:24 Fetched posts from https://twobithistory.org/feed.xml, took 65.254371ms +2024/12/27 03:20:24 error parsing https://mikehudack.substack.com/feed: http error: 403 Forbidden +2024/12/27 03:20:24 Fetched posts from https://mikehudack.substack.com/feed, took 96.944838ms +2024/12/27 03:20:24 Fetched posts from https://www.slowernews.com/rss.xml, took 98.557452ms +2024/12/27 03:20:24 Fetched posts from https://anewsletter.alisoneroman.com/feed, took 106.438777ms +2024/12/27 03:20:24 Fetched posts from https://macwright.com/rss.xml, took 114.355948ms +2024/12/27 03:20:24 Fetched posts from https://jvns.ca/atom.xml, took 149.342526ms +2024/12/27 03:20:24 Fetched posts from https://www.benkuhn.net/index.xml, took 157.597973ms +2024/12/27 03:20:24 Fetched posts from https://joy.recurse.com/feed.atom, took 180.426795ms +2024/12/27 03:20:24 Fetched posts from https://routley.io/reserialised/great-expectations/2022-08-24/index.xml, took 189.99522ms +2024/12/27 03:20:24 Fetched posts from https://www.wildlondon.org.uk/blog/all/rss.xml, took 210.298612ms +2024/12/27 03:20:24 Fetched posts from https://danluu.com/atom.xml, took 280.853694ms +2024/12/27 03:20:24 Fetched posts from https://blog.golang.org/feed.atom?format=xml, took 294.719614ms +2024/12/27 03:20:24 Fetched posts from https://scattered-thoughts.net/rss.xml, took 313.889581ms +2024/12/27 03:20:25 Fetched posts from https://blog.veitheller.de/feed.rss, took 538.530862ms +2024/12/27 03:20:25 Fetched posts from https://solar.lowtechmagazine.com/feeds/all-en.atom.xml, took 873.473035ms +2024/12/27 03:20:25 Fetched posts from http://tonsky.me/blog/atom.xml, took 1.003135728s +2024/12/27 03:20:25 Content still empty after HTML reader: https://ghostty.org/ +2024/12/27 03:20:26 Content still empty after HTML reader: https://vrklovespaper.substack.com/p/software-for-stationery-lovers +2024/12/27 03:20:26 Fetched posts from https://commoncog.com/blog/rss/, took 1.81665035s +2024/12/27 03:20:26 Content still empty after HTML reader: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision +2024/12/27 03:20:27 Content still empty after HTML reader: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp +2024/12/27 03:20:28 Fetched posts from https://gochugarugirl.com/feed/, took 3.353925541s +2024/12/27 03:20:28 Content still empty after HTML reader: https://pbat.ch/recurse/demos/trio/ +2024/12/27 03:20:30 Fetched posts from https://blaggregator.recurse.com/atom.xml?token=4c4c4e40044244aab4a36e681dfb8fb0, took 5.557713349s +2024/12/27 03:20:30 Fetched posts from https://hnrss.org/frontpage?points=50, took 5.7664301s +2024/12/27 03:20:54 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 03:20:54 Fetched posts from https://rachelbythebay.com/w/atom.xml, took 30.005747328s +2024/12/27 03:20:54 Skipping writing post, no content: https://ghostty.org/ +2024/12/27 03:20:54 Skipping writing post, no content: https://vrklovespaper.substack.com/p/software-for-stationery-lovers +2024/12/27 03:20:54 Skipping writing post, no content: https://pbat.ch/recurse/demos/trio/ +2024/12/27 03:20:54 Skipping writing post, no content: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision +2024/12/27 03:20:54 Skipping writing post, no content: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp +2024/12/27 03:20:54 Templated 41 posts, took 6.01057ms diff --git a/docs/posts/a-tour-of-webauthn.html b/docs/posts/a-tour-of-webauthn.html index ac5282046db..881cc41f5b8 100644 --- a/docs/posts/a-tour-of-webauthn.html +++ b/docs/posts/a-tour-of-webauthn.html @@ -19,7 +19,7 @@

A Tour of WebAuthn

This book was distributed at the FIDO Authenticate conference in -2024. Its intended format was as a PDF, which you can find here.

+2024. Its intended format was as a PDF, which you can find here.

The following is the contents of the PDF converted to HTML.

Here is the message sent by the browser, to the U2F security key, broken down into the same parts as listed above.

-

+

And here’s the response, similarly broken down:

-

+

(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.)

Now that we have performed a generate operation, the @@ -1557,7 +1557,7 @@

Authenticator data

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.

-

+

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 @@ -2421,7 +2421,7 @@

Getting attestation

here) 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:

-

+

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 diff --git a/docs/posts/bad-research-idea-false-statements-in-e-graphs.html b/docs/posts/bad-research-idea-false-statements-in-e-graphs.html index 5019838e167..2638a39d275 100644 --- a/docs/posts/bad-research-idea-false-statements-in-e-graphs.html +++ b/docs/posts/bad-research-idea-false-statements-in-e-graphs.html @@ -23,7 +23,7 @@

bad research idea: false statements in e-graphs

OK after much squinting at the progression of rewrite rules... I think I have found an example of where the logic goes wrong.

Can you spot the error?

-Screenshot 2024-12-23 at 10 06 52 PM +Screenshot 2024-12-23 at 10 06 52 PM

The issue here is that the empty int list TupleInt.EMPTY is unified with TupleInt(0, partial(lambda i, self, j: Int.if_(j == self.length(), i, self[j])), 101, TupleInt.empty) aka TupleInt(0, lambda j: Int.if_(j == 0, 101, TupleInt.EMPTY[j])))

Now let's say we do a naive index the empty list like TupleInt.EMPTY[0]. We could say this incorrect, or how we can represent it is that it unifies with Int.NEVER. But it can show up in the e-graph, because in if_ conditionals, the false branch can end up doing indexing that is not allowed. So we want it to not mess things up.

And in this case then, it will evaluate to (lambda j: Int.if_(j == 0, 101, TupleInt.EMPTY[j])))(0) which is Int.if_(0 == 0, 101, TupleInt.EMPTY[0])) which is 101... So then what we get is that 101 is unified with Int.NEVER which... isn't good! Is really bad! Because it means all numbers can be unified together basically, i.e. false is true whatever.